第一堂课布置了一个Mission Impossible作业,要求学生们用Matlab制作一个动画,模拟小球的自由落体运动。
以下将整个任务的问题解决的过程分享如下:
步骤一,这是一个动画的制作过程,以 “Matlab” + "动画"为关键词先问一声度娘,得到线索“怎样用Matlab做动画演示”。
这个资料里有提到一种制作动画的方法getframe,每画一幅图片就getframe一次赋给一个变量,比如说M,最后的时候用movie(M,1)播放这个动画,或者用movie2avi函数将动画保存成一个avi文件。
步骤二,这时候问题转移到,如何制作每一帧图片。我们需要画一个画布,同时在画布上生成一个坐标对象,并且借助坐标把一个实心或者空心圆画上去。以 “Matlab” + "画图"为关键词再度娘,得到两个线索,第一个是Figure的机制,第二个是类似火星十一郎-张朋飞写的“Matlab绘图”,通过这些线索可以了解画图一般都会先设置一个Figure,然后在规定好X轴和Y轴的axis的指定位置上plot一个实心或者空心圆。
很显然,这一步是非常难的,因为大部分分享Matlab信息的网友很难从一个Matlab初学者的角度来思考,经常一上来就大谈特谈plot函数,很少有人会一开始就讲Figure机制(我们是需要一个画布的呀!),在Matlab里边作图需要借助特定的对象axis,然后才是plot函数的使用。
代码写出来会很简单:
figure;
axis([0 20 0 20]);
plot(10, 10, '-or');