wurui_ly 发表于 2007-7-5 21:29

关于subs使用的问题

程序段如下:
clear; dert0=0.5; Ku=0.275184; Vn=Ku/dert0;
syms x ;
y=dsolve('Dy-Ku/(y*Vt)+Vn/Vt=0','y(0)=dert0','x');
y=subs(y,'dert0',dert0); y=subs(y,'Ku',Ku); y=subs(y,'Vn',Vn);

错误信息如下:
??? Error using ==> maple
Error, (in ln) singularity encountered

Error in ==> C:\MATLAB6p5\toolbox\symbolic\@sym\subs.m
On line 130==>       proctest = maple(['whattype(eval(subs(' char(sym(OLDexpr)) ' = ' ...

Error in ==> D:\e\KT\matlab\test070705_02.m
On line 8==> y=subs(y,'Vn',Vn);

那位高手解释一下这是什么问题呢?
我是个matlab的新手,请各位高人指教哦

[ 本帖最后由 ChaChing 于 2010-6-14 00:37 编辑 ]

无水1324 发表于 2007-7-6 14:47

注意符号变量和数值变量之间的转换

wurui_ly 发表于 2007-7-6 15:13

楼上能不能讲的详细一些呢?
我把程序改为下面情况时,最后返回的y值是10,但其中还应有符号变量Vt没有转换,不知是什么原因呢?
clear
dert0=0.5; Ku=0.275184;B=20;
Vn=Ku/dert0;
syms x ;
y=dsolve('Dy-Ku/(y*Vt)+Vn/Vt=0','y(0)=dert0','x');

y=simple(int(y,x,0,B));

y=vpa(subs(y,'Ku',double(Ku)),8);
y=vpa(subs(y,'Vn',double(Vn)),8);
y=vpa(subs(y,'dert0',double(dert0)),8);

wurui_ly 发表于 2007-7-6 16:11

谢谢楼上的无水1324,我已经搞明白了,这是计算问题而非编程问题 :@D
页: [1]
查看完整版本: 关于subs使用的问题