Billow 发表于 2008-12-28 15:31

solve 和 subs 的问题

我用了solve求解了方程组,想在第一个程序方程组的解带入下个方程组去求解,但是我用的subs怎么不能带入!
程序如下:
clear;clc;close all;
x1=0;y1=0;z1=0;x2=0;y2=192.1;z2=0;z3=0;
=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
=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 编辑 ]

Billow 发表于 2008-12-28 15:42

我看了eval 好像x4 和后面的维数不对,但是help subs。也看到不同维数的计算方法,感觉很是奇怪,希望高人给我指点下。谢谢。。。

ch_j1985 发表于 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

Billow 发表于 2008-12-28 19:21

回复 板凳 ch_j1985 的帖子

哦,那个错误我修改过了,贴帖子的时候没有注意,但是还是出现那样的情况

ch_j1985 发表于 2008-12-28 20:07

回复 地板 Billow 的帖子

我运行是没有出错,你的Matlab是什么版本?

Billow 发表于 2008-12-28 20:26

回复 5楼 ch_j1985 的帖子

我的是7.0的

ch_j1985 发表于 2008-12-28 20:41

回复 6楼 Billow 的帖子

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

Billow 发表于 2008-12-28 20:53

回复 7楼 ch_j1985 的帖子

好的,我找个其他的版本的看看,麻烦你能把代码和结果贴上来吗

ch_j1985 发表于 2008-12-28 21:14

Billow 发表于 2008-12-28 22:20

回复 9楼 ch_j1985 的帖子

谢谢。。。。我在同学的R2008a上面运行了,可以的,结果和你的一样,是bug问题吗,感觉这样的小问题应该不会吧,又不是simulink 建模。难道是我安装的问题吗! 有会员是用7.0 的吗? 运行是不是同样的问题。 不知道可有高手解决这个问题。再次谢谢ch_j1985!

sigma665 发表于 2008-12-29 08:48

回复 10楼 Billow 的帖子

试试把i换成ii

ChaChing 发表于 2008-12-29 09:35

我在v6.5报错情况与楼主类似!
但个人认为应该也能够修改语法, 使其在v6.5运行, 不过我没试!

[ 本帖最后由 ChaChing 于 2008-12-29 09:38 编辑 ]

Billow 发表于 2008-12-30 09:32

嗯,我也在6.5上面试了。也是没有那个问题。 我认同的你的观点,应该是有办法修改的。只是我没有那个能力和时间。希望有高手试试看,如果修改成功请贴上来。

Billow 发表于 2008-12-30 09:34

回复 11楼 sigma665 的帖子

你的意思我知道,这个我倒没有去修改,因为我觉得我里面并没有虚数,只是正负号的问题。不过你的建议我会去试试看的,谢谢。。。。。。
页: [1]
查看完整版本: solve 和 subs 的问题