声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2081|回复: 13

[综合讨论] solve 和 subs 的问题

[复制链接]
发表于 2008-12-28 15:31 | 显示全部楼层 |阅读模式

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

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

x
我用了solve求解了方程组,想在第一个程序方程组的解带入下个方程组去求解,但是我用的subs怎么不能带入!
程序如下:
clear;clc;close all;
x1=0;y1=0;z1=0;x2=0;y2=192.1;z2=0;z3=0;
[x3,y3]=solve('x3^2+y3^2=158.2^2','x3^2+(y3-192.1)^2=158.2^2');
  a=x3;
  b=y3;
%a = double(a);
%b = double(b);
for i=1:2
[x4,y4,z4]=solve('x4^2+y4^2+z4^2=396.5^2','x4^2+(y4-192.1)^2+z4^2=396.0^2',...
                 '(x4-x3(i))^2+(y4-y3(i))^2+z4^2=365.0^2');            
end
for i =1:2
  x4(i)=subs(x4(i),{'x3(i)','y3(i)'},{a(I),b(i)});
end

执行错误如下:

??? Error using ==> eval
Undefined command/function 'x3'.
Error in ==> sym.double at 45
D = reshape(eval(X),siz);
Error in ==> sym.subs at 66
if isempty(vars), NEWf = double(OLDf); return, end
Error in ==> coordinatechange_exe at 15
x4(i)=subs(x4(i),{'x3(i)','y3(i)'},{a(i),b(i)});

[ 本帖最后由 Billow 于 2008-12-28 15:38 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-12-28 15:42 | 显示全部楼层
我看了eval 好像x4 和后面的维数不对,但是help subs。也看到不同维数的计算方法,感觉很是奇怪,希望高人给我指点下。谢谢。。。
发表于 2008-12-28 16:20 | 显示全部楼层
for i =1:2
  x4(i)=subs(x4(i),{'x3(i)','y3(i)'},{a(I),b(i)});
end
运行后只有红色的代码错误
for i =1:2
  x4(i)=subs(x4(i),{'x3(i)','y3(i)'},{a(i),b(i)});
end
 楼主| 发表于 2008-12-28 19:21 | 显示全部楼层

回复 板凳 ch_j1985 的帖子

哦,那个错误我修改过了,贴帖子的时候没有注意,但是还是出现那样的情况
发表于 2008-12-28 20:07 | 显示全部楼层

回复 地板 Billow 的帖子

我运行是没有出错,你的Matlab是什么版本?
 楼主| 发表于 2008-12-28 20:26 | 显示全部楼层

回复 5楼 ch_j1985 的帖子

我的是7.0的
发表于 2008-12-28 20:41 | 显示全部楼层

回复 6楼 Billow 的帖子

噢,我用的是Matlab R2008a,看其他会员运行时有没有报错

评分

1

查看全部评分

 楼主| 发表于 2008-12-28 20:53 | 显示全部楼层

回复 7楼 ch_j1985 的帖子

好的,我找个其他的版本的看看,麻烦你能把代码和结果贴上来吗
发表于 2008-12-28 21:14 | 显示全部楼层
 楼主| 发表于 2008-12-28 22:20 | 显示全部楼层

回复 9楼 ch_j1985 的帖子

谢谢。。。。我在同学的R2008a上面运行了,可以的,结果和你的一样,是bug问题吗,感觉这样的小问题应该不会吧,又不是simulink 建模。难道是我安装的问题吗! 有会员是用7.0 的吗? 运行是不是同样的问题。 不知道可有高手解决这个问题。再次谢谢ch_j1985!
发表于 2008-12-29 08:48 | 显示全部楼层

回复 10楼 Billow 的帖子

试试把i换成ii
发表于 2008-12-29 09:35 | 显示全部楼层
我在v6.5报错情况与楼主类似!
但个人认为应该也能够修改语法, 使其在v6.5运行, 不过我没试!

[ 本帖最后由 ChaChing 于 2008-12-29 09:38 编辑 ]
 楼主| 发表于 2008-12-30 09:32 | 显示全部楼层
嗯,我也在6.5上面试了。也是没有那个问题。 我认同的你的观点,应该是有办法修改的。只是我没有那个能力和时间。希望有高手试试看,如果修改成功请贴上来。
 楼主| 发表于 2008-12-30 09:34 | 显示全部楼层

回复 11楼 sigma665 的帖子

你的意思我知道,这个我倒没有去修改,因为我觉得我里面并没有虚数,只是正负号的问题。不过你的建议我会去试试看的,谢谢。。。。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-19 08:07 , Processed in 0.104871 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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