| 查看: 537 | 回复: 4 | |||
| 当前主题已经存档。 | |||
zhanghcui木虫 (小有名气)
|
[交流]
【求助】 matlab 符号转化double
|
||
|
各位高人, 怎样把符号表达式转变为double表达式 下面是我的主程序和出错提示: syms x y z1 z2 m=3 n=3 h=0.0003; w=0.0005; a=0.0001 e=h/w %z1=@pp ff=sym(zeros(m,n)) for i=1:m %feval(z1,x,y,i) z1=x.^i+y.^i for j=1:n % z2=@pp %feval(z2,x,y,j) z2=x.^j+y.^j z1x=diff(z1,x) z2x=diff(z2,x) z1y=diff(z1,y) z2y=diff(z2,y) ff(i,j)=e^2*z1x*z2x+z1y*z2y ff(i,j)=char(ff(i,j)) ff(i,j)=strrep(ff(i,j),'*','.*') ff(i,j)=strrep(ff(i,j),'/','./') ff(i,j)=strrep(ff(i,j),'\','.\') ff(i,j)=strrep(ff(i,j),'^','.^') ss=intout(ff(i,j),0,1,0,1) end end 出错: Warning: Inputs must be character arrays or cell arrays of strings. > In zzz at 23 ??? Error using ==> strrep Conversion to double from sym is not possible. Error in ==> zzz at 23 ff(i,j)=strrep(ff(i,j),'*','.*') [ Last edited by luoqiquan on 2009-12-19 at 18:14 ] |
» 猜你喜欢
津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生一名
已经有0人回复
【原创讨论】从电子约束到物质编辑:一套可迭代的环形磁场科技树
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有207人回复
【方案分享】单环磁场+轴心控制+偏转导出电子束约束系统(可行性实验)
已经有6人回复
【修正版】单环用磁约束低速电子实验方案(简化版)
已经有0人回复
桂林理工大学物理学专业招收调剂,还有三个名额!!!
已经有22人回复
考博自荐
已经有4人回复
山东大学第二批博士研究生招生
已经有0人回复
中国科学院东莞材料科学与技术研究所-2026年博士招生-吴昊研究员-磁学与自旋电子学
已经有0人回复
《电磁学》教材推荐
已经有1人回复
【急招】合肥工大核聚变材料计算方向2026级工程博士生
已经有3人回复
mingdong
荣誉版主 (知名作家)
- 应助: 0 (幼儿园)
- 贵宾: 4.548
- 金币: 42102.8
- 散金: 72
- 红花: 8
- 帖子: 5922
- 在线: 456.4小时
- 虫号: 633286
- 注册: 2008-10-22
- 性别: GG
- 专业: 能源化工
- 管辖: 计算模拟
★
xuefei06(金币+1,VIP+0):感谢参与并提意见
xuefei06(金币+1,VIP+0):感谢参与并提意见
|
你好 数值仿真版开有matlab专贴,请参考: http://muchong.com/bbs/viewthread.php?tid=759829&fpage=1 |

2楼2008-12-04 16:50:56
zhanghcui
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 2116.1
- 散金: 140
- 红花: 2
- 帖子: 208
- 在线: 229.4小时
- 虫号: 659790
- 注册: 2008-11-22
- 专业: 传递过程
3楼2008-12-05 13:06:56
★ ★ ★ ★ ★
mingdong(金币+2,VIP+0):感谢您的帮助!
xuefei06(金币+3,VIP+0):感谢你给出这么详细的答案,希望对楼主有所帮助
mingdong(金币+2,VIP+0):感谢您的帮助!
xuefei06(金币+3,VIP+0):感谢你给出这么详细的答案,希望对楼主有所帮助
|
syms x y z1 z2 m=3 n=3 h=0.0003; w=0.0005; a=0.0001 e=h/w %z1=@pp ff=sym(zeros(m,n)) for i=1:m %feval(z1,x,y,i) z1=x.^i+y.^i for j=1:n % z2=@pp %feval(z2,x,y,j) z2=x.^j+y.^j z1x=diff(z1,x) z2x=diff(z2,x) z1y=diff(z1,y) z2y=diff(z2,y) ff(i,j)=e^2*z1x*z2x+z1y*z2y ff(i,j)=char(ff(i,j)) ff(i,j)=strrep(ff(i,j),'*','.*') ff(i,j)=strrep(ff(i,j),'/','./') ff(i,j)=strrep(ff(i,j),'\','.\') ff(i,j)=strrep(ff(i,j),'^','.^') ss=intout(ff(i,j),0,1,0,1) end end 你去掉后面的几个转换 syms x y z1 z2 m=3 n=3 h=0.0003; w=0.0005; a=0.0001 e=h/w %z1=@pp ff=sym(zeros(m,n)) for i=1:m %feval(z1,x,y,i) z1=x.^i+y.^i for j=1:n % z2=@pp %feval(z2,x,y,j) z2=x.^j+y.^j z1x=diff(z1,x) z2x=diff(z2,x) z1y=diff(z1,y) z2y=diff(z2,y) ff(i,j)=e^2*z1x*z2x+z1y*z2y ff(i,j)=char(ff(i,j)) end end 输出结果是 ff = [ 34/25, 18/25*x+2*y, 27/25*x^2+3*y^2] [ 18/25*x+2*y, 36/25*x^2+4*y^2, 54/25*x^3+6*y^3] [ 27/25*x^2+3*y^2, 54/25*x^3+6*y^3, 81/25*x^4+9*y^4] 不知道是不是你相要的, 你要是想吧*换成别的运算符号 你再做一个替代循环吧 另外intout有这个函数吗?你是不是写错了 |
4楼2008-12-05 15:16:12
zhanghcui
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 2116.1
- 散金: 140
- 红花: 2
- 帖子: 208
- 在线: 229.4小时
- 虫号: 659790
- 注册: 2008-11-22
- 专业: 传递过程
5楼2008-12-08 09:04:02












回复此楼