【转】MATLAB如何制作动画(动态图形演示movie)
https://jingyan.baidu.com/article/49711c6199002dfa451b7c52.html
MATLAB如何制作動畫(動態(tài)圖形演示movie)
聽語音
- |
- 瀏覽:7100
- |
- 更新:2017-12-10 10:57
- |
- 標(biāo)簽:MATLAB?動畫?
-
1
-
2
-
3
-
4
-
5
-
6
-
7
分步閱讀
百度經(jīng)驗:jingyan.baidu.com
有時我們需要用MATLAB作出的圖片有動態(tài)的效果,比如下圖,我想讓這個圖案有動態(tài)的起伏的展示,或者某種仿真過程,我想動態(tài)地展示,怎么辦呢?
步驟閱讀
百度經(jīng)驗:jingyan.baidu.com
工具/原料
-
MATLAB
百度經(jīng)驗:jingyan.baidu.com
方法/步驟
1
首先,我這里舉例代碼如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
生成了一幅靜態(tài)的surf圖片,XX,YY由meshgrid生成。
步驟閱讀
2
下面輸入
theAxes=axis;,
右側(cè)可以看到,theAxes=[0,40,0,40,-0.5,1],這是surf函數(shù)生成的,因為上面繪制的surf沒有使用surf(XX,YY,Z)所以坐標(biāo)范圍不同,但是無論什么坐標(biāo)范圍,這里都先取出來,存到一個變量中,后面?zhèn)溆谩?/p>
步驟閱讀
3
fmat=moviein(20);
將fmat保存為一個moviein結(jié)構(gòu)體,20表示動畫有20幀。
步驟閱讀
4
輸入:
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
這里就是分別畫每一幀的圖像,此處我們的surf是分20份來畫,坐標(biāo)軸統(tǒng)一為之前的保存的坐標(biāo)軸,把moviein結(jié)構(gòu)體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)
步驟閱讀
END
總結(jié)
以上是生活随笔為你收集整理的【转】MATLAB如何制作动画(动态图形演示movie)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 精选| 2021年5月R新包推荐(第54
- 下一篇: 绕固定坐标轴旋转与绕自身坐标轴旋转一致性