Вы задаёте по 3 координаты х и у, а дальше в plot перечисляете уже 5 координат.
CenturioПросветленный (30364)
12 месяцев назад
Код можно и короче написать.
x=[1 10 20 25 33];;
y=[1 15 1 2 8];;
CX=39;
CY=37;
plot(x,y,'ob',C),CY,''m-*)
N=10;
CX=repmat(CX,1,N+1);
CY=repmat(CY,1,N+1);
NUMBER=randi([1 5],1,N);;
for i=1:N
CX(i+1)=(x(NUMBER(i))+CX(i))/2;
CY(i+1)=(y(NUMBER(i))+CY(i))/2;
end
x=[1 10 20];
y=[1 15 1];
CX=[39];
CY=[37];
newcoorX=0;
newcoory=0;
figure
plot(x(1),y(1),'ob',x(2),y(2),'ob',x(3),y(3),'ob',x(4),y(4),'ob',x(5),y(5),'ob',CX(1),CY(1),'m-*')
for(i=1:10)
NUMBER=randi(5);
if (NUMBER==1)
newcoorX=(x(1)+CX(i))/2;
newcoorY=(y(1)+CY(i))/2;
CX(i+1)=newcoorX;
CY(i+1)=newcoorY;
end
if (NUMBER==2)
newcoorX=(x(2)+CX(i))/2;
newcoorY=(y(2)+CY(i))/2;
CX(i+1)=newcoorX;
CY(i+1)=newcoorY;
end
if (NUMBER==3)
newcoorX=(x(3)+CX(i))/2;
newcoorY=(y(3)+CY(i))/2;
CX(i+1)=newcoorX;
CY(i+1)=newcoorY;
end
if (NUMBER==4)
newcoorX=(x(3)+CX(i))/2;
newcoorY=(y(3)+CY(i))/2;
CX(i+1)=newcoorX;
CY(i+1)=newcoorY;
end
if (NUMBER==5)
newcoorX=(x(3)+CX(i))/2;
newcoorY=(y(3)+CY(i))/2;
CX(i+1)=newcoorX;
CY(i+1)=newcoorY;
end
hold on
plot(CX(i),CY(i),'or')
end % кінець циклу for(i=1:20)
grid on