请教高手,如何设计matlab程序,两个for循环,其中一个for循环中包括一个if语句,程序中出现错误,如何修改
k=-35:1:15;g=130.6:1:90.6;forn=1:(130.6-90.6+1)fori=1:(15+35+1)x3(i)=(70^2+sqrt(k(i)^...
k=-35:1:15;
g=130.6:1:90.6;
for n=1:(130.6-90.6+1)
for i=1:(15+35+1)
x3(i)=(70^2+sqrt(k(i)^2+g(n)^2)-70^2)/(2*70*70);
x4(i)=x3(i);
if k(i)<=0
x5(i)=-atan(g(n)/k(i));
else
x5(i)=pi-atan(g(n)/k(i));
end
x1(i)=x5(i)-x3(i);
x2(i)=x3(i)+x4(i);
x(i)=-(k(i)+280*cos(x1(i))+280*cos(x1(i)+x2(i)));
y(i)=-(280*sin(x1(i))+280*sin(x1(i)+x2(i)));
hold on
plot(x,y,'r+');
end
xlabel('X-水平位移(mm)');
ylabel('Y-垂直位移(mm)');
end
这个程序的结果图,应该是一个矩形图 展开
g=130.6:1:90.6;
for n=1:(130.6-90.6+1)
for i=1:(15+35+1)
x3(i)=(70^2+sqrt(k(i)^2+g(n)^2)-70^2)/(2*70*70);
x4(i)=x3(i);
if k(i)<=0
x5(i)=-atan(g(n)/k(i));
else
x5(i)=pi-atan(g(n)/k(i));
end
x1(i)=x5(i)-x3(i);
x2(i)=x3(i)+x4(i);
x(i)=-(k(i)+280*cos(x1(i))+280*cos(x1(i)+x2(i)));
y(i)=-(280*sin(x1(i))+280*sin(x1(i)+x2(i)));
hold on
plot(x,y,'r+');
end
xlabel('X-水平位移(mm)');
ylabel('Y-垂直位移(mm)');
end
这个程序的结果图,应该是一个矩形图 展开
3个回答
展开全部
错误的位置是g=130.6:1:90.6;
改为g=130.6:-1:90.6;
但结果不是你说的矩形
改为g=130.6:-1:90.6;
但结果不是你说的矩形
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
g='初值' : '步长' : '终值'
这里初值>终值,所以步长应为负数-1
这里初值>终值,所以步长应为负数-1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
g=130.6:(-1):90.6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询