- 积分
- 0
- 注册时间
- 2010-7-22
- 仿真币
-
- 最后登录
- 1970-1-1
|
Matlab7.0.1版本:
……
for po=1:nr % nr是变化的
zx(po)=x+r(po)*cos(xita+sum(newfy(1:po-1))); % 极坐标转为直角坐标
zy(po)=y+r(po)*sin(xita+sum(newfy(1:po-1)));
end
……
finalzx{cum,:}=zx; % 将zx,zy赋予finalzx,finalzy中的cum行
finalzy{cum,:}=zy;
……
for j=1:cum-1
mj=polyarea(finalzx{j,:},finalzy{j,:}) 得到j=1时,finalzx,finalzy围成多边形的面积
end
zmj=sum(mj)
if zmj>S(1)
avr=D(2)/2;
elseif zmj>(S(1)+S(2))
avr=D(3)/2;
elseif zmj>(S(1)+S(2)+S(3))
break;
else
avr=D(1)/2;
end
运行之后,出现这个:
??? Undefined function or variable "mj".
Error in ==> Pol_concrete2d_nopk at 113
zmj=sum(mj)
认为是mj=polyarea(finalzx{j,:},finalzy{j,:}) 公式中,finalzy{j,:} 问题。
但是:
>> a=[2 3 4 5 8 7];
>> b=[2 3 5 6];
>> c=[3 4 6 7 8 9 8 3 4];
>> final{1,:}=a;
>> final{2,:}=b;
>> final{3,:}=c;
>> final
final =
[1x6 double]
[1x4 double]
[1x9 double]
>> final{2,:}
ans =
2 3 5 6
和
a=polyarea([2 4 4 2],[2 2 5 5])
a =
6
表明是正确的。
不知道是什么原因,求高手帮忙解答。。 |
|