MATLAB编程问题,for循环的逻辑值

if(forn=1:m(O(1)-A(2,n))^2+(O(2)-A(3,n))^2>(A(1,n)+A(1,m+1))^2end)A(2,m+1)=O(1);A(3,m... if(for n=1:m
(O(1)-A(2,n))^2+(O(2)-A(3,n))^2>(A(1,n)+A(1,m+1))^2
end )
A(2,m+1)=O(1);
A(3,m+1)=O(2);
要求循环中所有的式子都满足大于,才执行下面的程序
z=zeros(1,i);
A=(b;z;z);
S=(400,400);
m=1;
flag=1;
while(flag==1)
u=rand(1,2);
O=S.*u;
if(for n=1:m
(O(1)-A(2,n))^2+(O(2)-A(3,n))^2>(A(1,n)+A(1,m+1))^2
end )
A(2,m+1)=O(1);
A(3,m+1)=O(2);
m=m+1;
if(m==i)
flag=0;
end
end
展开
 我来答
fptan
推荐于2016-11-15 · TA获得超过984个赞
知道大有可为答主
回答量:1150
采纳率:100%
帮助的人:718万
展开全部
isOK=1;
for n=1:m
if((O(1)-A(2,n))^2+(O(2)-A(3,n))^2>(A(1,n)+A(1,m+1))^2 ) isOK=0;break;
end

if isOK
A(2,m+1)=O(1);
A(3,m+1)=O(2);
追问

完整的,可以帮我改下吗,if外面还有一个循环

追答
i=3; %我加的

S=[400,400];
isOK=1;
m=1;flag=1;
while(flag == 1)
u=rand(1,2);
O=S.*u;
for n=1:m
if((O(1)-A(2,n))^2+(O(2)-A(3,n))^2<(A(1,n)+A(1,m+1))^2 )
isOK=0;
break;
end
end

if isOK
A(2,m+1)=O(1);
A(3,m+1)=O(2);
end
m=m+1;
if (m==i)
flag=0;
end
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式