1、首先,这里举例代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
生成了一幅静态的surf图片,XX,YY由meshgrid生成。
2、下面输入theAxes=axis;,
右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,后面备用。
3、mat=moviein(20);将fmat保存为一个moviein结构体,20表示动画有20帧。
4、输入:
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
这里就是分别画每一帧的图像,此处我们的surf是分20份来画,坐标轴统一为之前的保存的坐标轴,把moviein结构体fmat的取为getframe,如图。
5、movie(fmat,10);就是动画放10遍。
6、全代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
theAxes=axis;
fmat=moviein(20);
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
movie(fmat,10)
完成效果图。
1、首先打开matlab,导入日期数据:从1号到30号,>> date=1:30。
2、导入温度数据:从1号到30号每天的平均温度。>>temperature=[12 13 14 11 18 20 21 13 17 18 19 10 11 13 14 13 12 22 21 23 19 22 21 12 13 15 17 15 16 22]。
3、然后采用折线形式画出天气图。>> plot(date,temperature )>> axis([0,31,0,30])>> xlabel('date'),ylabel('temperature')。
4、采用梯形线形式画出天气图。>> stairs(date,temperature )。
5、最后采用直方图形式画出天气图。>> bar(date,temperature )。
本回答被网友采纳