数学建模社区-数学中国

标题: for循环求解方程组时报错 [打印本页]

作者: 选择向前吧    时间: 2013-7-31 16:33
标题: for循环求解方程组时报错
代码如下

d=[1.4,1,1.1];
mtx=[0,1,0];
mty=[0,0,1];%给出圆元参数
s=zeros(2,6);
f=1;
syms
x y
for i=1:1:2
for k=i+1:1:3

[x,y]=solve((x-mtx(i))^2+(y-mty(i))^2-d(i)^2,(x-mtx(k))^2+(y-mty(k))^2-d(k)^2);

s(1,f)=x(1);
s(1,f+1)=x(2);
s(2,f)=y(1);

s(2,f+1)=y(2);
f=f+2;
end
end

报错
Error using
mupadmex
Error in MuPAD command: Index exceeds matrix
dimensions.

Error in sym/subsref (line 1577)
B =
mupadmex('symobj::subsref',A.s,inds{:});

Error in twostepML (line
98)

[x,y]=solve((x-mtx(i))^2+(y-mty(i))^2-d(i)^2,(x-mtx(k))^2+(y-mty(k))^2-d(k)^2);
循环转不起来,请高人相助啊~

作者: lvyanlong    时间: 2013-7-31 18:41
你的这个式子有问题  怎么有个“,”。
作者: madio    时间: 2013-8-1 11:53
只有当i=1,k=3的时候这个方程组解不了,和你的数据有关,下面是我改的,代码可以运行
  1. d=[1.4,1,1.1];
  2. mtx=[0,1,0];
  3. mty=[0,0,0];%给出圆元参数
  4. s=zeros(2,6);
  5. f=1;
  6. syms x y
  7. for i=1:1:2
  8. for k=i+1:1:2

  9. [x,y]=solve((x-mtx(i))^2+(y-mty(i))^2-d(i)^2,(x-mtx(k))^2+(y-mty(k))^2-d(k)^2);

  10. s(1,f)=x(1);
  11. s(1,f+1)=x(2);
  12. s(2,f)=y(1);

  13. s(2,f+1)=y(2);
  14. f=f+2;

  15. end
  16. end
复制代码





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5