声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2384|回复: 3

[编程技巧] 关于subs使用的问题

[复制链接]
发表于 2007-7-5 21:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序段如下:
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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-6 14:47 | 显示全部楼层
注意符号变量和数值变量之间的转换
 楼主| 发表于 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);
 楼主| 发表于 2007-7-6 16:11 | 显示全部楼层
谢谢楼上的无水1324,我已经搞明白了,这是计算问题而非编程问题 :@D
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 10:45 , Processed in 0.065809 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表