登录论坛

查看完整版本 : [MATLAB数学相关] Index exceeds matrix dimensions,没有用到下标怎么还会越界呢?


liang_xinhui
2009-05-29, 11:04
:confused:

>> ff1='50*z*(z-d)=230.1875*(z^2-r^2)';

>> ff2='((z-d)*r)^2=29318.942*(z^2-r^2)';

>> ff3='50*(z-d)*r=22.0345*(z^2-r^2)';

>> solve(ff1,ff2,ff3)
??? Error using ==> subsref
Index exceeds matrix dimensions.

Error in ==> sym.subsref at 16
y = builtin('subsref',struct(x),a);

Error in ==> solve at 191
S.(char(symvars(j))) = R(:,j);

TTT_IOU
2009-05-29, 13:18
运行没问题的,估计是版本问题!!
ff1='50*z*(z-d)=230.1875*(z^2-r^2)';
ff2='((z-d)*r)^2=29318.942*(z^2-r^2)';
ff3='50*(z-d)*r=22.0345*(z^2-r^2)';
F=solve(ff1,ff2,ff3)
d=F.d
r=F.r
z=F.z
结果为:
F =
d: [5x1 sym]
r: [5x1 sym]
z: [5x1 sym]
d =
d
z
z
1390.2111993592516807379341541957
-1390.2111993592516807379341541957
r =
0.
z
-1.*z
-37.364685547862253969091147479733
37.364685547862253969091147479733
z =
0.
z
z
-390.33713288472815745808475393093
390.33713288472815745808475393093
不知运行结果是否满意,望有帮助!!!

liang_xinhui
2009-05-29, 14:56
谢谢,数据不好,呵呵