声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1343|回复: 4

[编程技巧] subs & solve出错

[复制链接]
发表于 2009-4-7 16:45 | 显示全部楼层 |阅读模式

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

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

x
刚刚学matlab没多久,实在头疼……
R=[];
i=1;
for theta=0:pi/60:2*pi
R(i)=subs(solve('4*(r-3^2/r)*sin(theta)+256/(2*pi)*log(r/3)-3=0'));
i=i+1;
end;

运行就会有如下提示:
??? Conversion to double from sym is not possible.

[ 本帖最后由 ChaChing 于 2009-4-8 07:39 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-4-7 23:33 | 显示全部楼层
怎麽我的错误讯息又跟楼主的不同!? R2006a
??? Input argument "NEWexpr" is undefined.

Error in ==> sym.subs at 104
msg = inputchk(OLDf,OLDexpr,NEWexpr);
发表于 2009-4-8 20:19 | 显示全部楼层
数据类型不对
 楼主| 发表于 2009-4-8 21:23 | 显示全部楼层

回复 板凳 娜娜张 的帖子

呃~~我也猜到了,不过就是不知道怎么改~~~
发表于 2009-4-9 14:49 | 显示全部楼层

回复 地板 4a_while 的帖子

syms r theta
ppp=0:pi/60:2*pi; R=zeros(size(ppp));
for i=1:length(ppp)
   thetap=pi/60*(i-1);
   R(i)=solve(subs('4*(r-3^2/r)*sin(theta)+256/(2*pi)*log(r/3)-3=0','theta',thetap),'r');
end;
plot(R)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-20 06:56 , Processed in 0.060173 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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