MATLAB绘制动画(一)质点动画

vx = 100*cos(1/3*pi);
vy = 100*sin(1/3*pi);
t = 0:0.005:18;
x = vx*t;
y = vy*-9.8*t.^2/2;
comet(x,y)

 这里只是截取了最后的画面,正常运行时,可以看到从最高点向下落的动作。

想要了解这段代码,我们要知道comet函数的意义

这个函数可以沿着向量移动的彗星,彗星是由标记(头部)和一条线(尾部)构成的动画,用于跟踪线条随数据点而不断变长的情况。尾巴是跟踪整个函数的实线。

也就是说,沿着向量延伸的方向绘制动画

上述代码中用的是抛物线的运动方程,设置了xy方向的初始速度和加速度(-9.8)

接下来,我们在三维空间绘制动画,比如绘制洛伦兹吸引子的三维动态图:

f1 = @(t,x)[-8/3*x(1)+x(2)*x(3);
    -10*(x(2)-x(3));
    -x(1)*x(2)+28*x(2)-x(3)];
%洛伦兹微分方程组
t_final = 100;
x0 = [0;0;1e-10];
[t,x] = ode45(f1,[0,t_final],x0);
figure
axis([10 42 -20 20 -20 25]);
comet3(x(:,1),x(:,2),x(:,3))

需要注意的是,comet3(x,y,z)显示 z 中指定的数据对与 z 的索引相匹配的 x 和 y 值的彗星图。

ode45是求解非刚性微分方程的函数,可以求微分方程组 y'=f(t,y) 从 t0 到 tf 的积分,初始条件为 y0。解数组 y 中的每一行都与列向量 t 中返回的值相对应。

最后简单介绍一下洛伦兹吸引子:

洛伦兹吸引子由气象学家Edward Lorenz在1963年给出,来源于模拟大气对流,该模型除了在天气预报中有显著的应用之外,还可以用于研究空气污染和全球侯变化。

具体可以参考:
(10条消息) 走近分形与混沌(part5)--洛伦茨与吸引子_洛伦兹混沌吸引子_GoatGui的博客-CSDN博客https://blog.csdn.net/m0_37422217/article/details/105607085

参考《高等光学仿真——光波导、激光》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值