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 展开
(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 展开
展开全部
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);
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);
追答
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询