第1个回答 2013-05-09
%用插补法画一条直线
x=0:1:100; %画一个100*100的网格
y=0:1:100;
M=meshgrid(x,y);
plot(x,M,'r-');
hold on;
plot(M,y,'r-');
xe=input('input xe:'); %此句为用户自定义直线的终点
ye=input('input ye:');
x1=0; %线的起点
y1=0;
f=0;
m=xe+ye; %画这条线一共走的步数
for n=1:m
if f>=0; %点在线的上方
f=f-ye;
x1(n+1)=x1(n)+1;
y1(n+1)=y1(n);
else %点在线的下方
f=f+xe;
x1(n+1)=x1(n);
y1(n+1)=y1(n)+1;
end
pause %按任意键继续执行程序
plot(x1,y1,'b-');
end
程序运行之后,在matlab主界面中回车会让你输入线的终点,再按任意键图形就出来了,是一步一步出来的,按一下出来一笔。出来你要求的图形需要Xe=Ye
第2个回答 2013-05-09
clc
clear all
close all
p1x=0;
p1y=0;
figure(1);
hold on
axis([0,20,0,20])
for i=1:7
for j=1:5
p2x=p1x+(mod(i,2)==1);
p2y=p1y+(mod(i,2)==0);
plot([p1x,p2x],[p1y,p2y],'LineWidth',3);
p1x=p2x;
p1y=p2y;
pause(0.25);
end
end本回答被提问者和网友采纳