解pde方程提示错误“Undefined function or variable”
自己编了一个求解偏微分方程(PDE)的Matlab程序,如附件1所示,运行后出现附件2所示的错误。当直接写d='x/0.0114'时程序可以正常运行。达人指教! 引号中符号变量不能用数值赋值等式直接代换,需要用num2str转换一下,不过比较麻烦。如果变量不是很多,可以将数值直接写入字符变量,写成d='x/0.0114'。 引号中符号变量不能用数值赋值等式直接代换,需要用num2str转换一下,不过比较麻烦。如果变量不是很多,可以将数值直接写入字符变量,写成d='x/0.0114'。messenger 发表于 2009-9-2 21:56 http://forum.simwe.com/images/common/back.gif
因为我的Deff有好几个值,也就是有个循环在里面,我没有写出来,所以才写成d='x/Deff',也就是一个Deff对应算得一个d
您说的转换应该如何实现呢?谢谢 不是说了吗?用num2str,具体可参考FAQ中的C2问题,“如何将参数传递到solve求解的方程组里面?”,原理都是一样的。 >> A=rand(4,1);
>> for nn=1:4
d=['x/' num2str(A(nn))]
end
d =
x/0.81472
d =
x/0.90579
d =
x/0.12699
d =
x/0.91338
这样可以不 终于把问题解决了,如下:
把d='x/Deff',改为d=['x/' num2str(Deff)],或者是d=strcat('x/', num2str(Deff))都可以,也就是把Deff转换成串,并用中括号或strcat()函数把两个字符串给连接起来。
谢谢大家的帮忙!
页:
[1]