霍霍霍去病
春芽
共回答了17个问题采纳率:94.1% 举报
我明白你的意思了,确实是绝对值的问题.
同心圆我就不画了,上一个有.
下面是同心正方形.
clc;clear;
c=[1,2,3,4];
%%%当a=2时候,
% s1=-4:1:4;
for i=1:4
%%%%%%%%限定坐标范围,使直线无交叉刚好呈同心圆
s1=-i:1:i;
s2=-i:1:i;
xlim([-i i]);
ylim([-i i]);
s2=c(i)-s1;
plot(s1,s2);
hold on
%%%%%%%画第二条直线
s2=c(i)+s1;
plot(s1,s2);
%%%%%%%画第三条直线
s2=-c(i)+s1;
plot(s1,s2);
%%%%%%%画第四条直线
s2=-c(i)-s1;
plot(s1,s2);
grid on
axis equal;
xlabel('s1');
ylabel('s2');
title('同心正方形');
end
唯一问题是:坐标好像得一个个直线标不同坐标,要不就会有交叉,你可以运行下.
我设置范围是-i到i,没问题呀,可还是有交叉.
先i=1时候,范围是-1到1然后画4条直线,围成最里面的正方形.
然后i=2时候,范围-2到2然后画4条直线,围成倒数第二个的正方形,
i=3,i=4同理.
思路都是对的,也没编错,好奇怪.
1年前
追问
2
举报
霍霍霍去病
ͬΣ
clc;clear;
c=[1,2,3,4];
for i=1:4
x=[-c(i) 0 c(i) 0 -c(i)];
y=[0 c(i) 0 -c(i) 0];
plot(x,y)
grid on
hold on
end