ZKX's LAB

如何用matlab模拟混沌系统或者动力学系统 matlab 系统动力学

2021-04-06知识5

如何用matlab模拟混沌系统或者动力学系统 你找到某种混沌系统的表达式,作图就行了,比如经典的洛伦兹吸引子的程序如下:第一个程序:lorenzfun.mfunction dy=lorenzfun(t,y)p=10;r=28;b=8/3;p=16;b=4.0;r=45.92;dy=zeros(3,1);dy(1,:)=p*(-y(1)+y(2));dy(2,:)=r*y(1)-y(2)-y(1)*y(3);dy(3,:)=y(1)*y(2)-b*y(3);第一个程序:lorenztest.m[t,yy]=ode45('lorenzfun',[0:0.01:100],[-1;0;1]);模拟t=0~100步长0.01的10001个点,初值[-1;0;1]x=yy(:,1);y=yy(:,2);z=yy(:,3);figure(1);plot3(x,y,z);xlabel('x(t)'),ylabel('y(t)'),zlabel('z(t)');title('Lorenz吸引子图');x=x(1001:end);抛弃前面的一些点你在matlab下运行lorenztest看看能不能找到点感觉

动力学系统时域响应计算的六种方法Matlab源程序(Newmark,Houbolt法,中心差分法) 原发布者:tongNewmark法Matlab源程序function[acc,vel,dsp]=Newmark_2(kk,cc,mm,fd,nt,dt,q0,dq0)输入参数kk-刚度矩阵mm-质量矩阵cc-阻尼矩阵q0-初始位移dq0-初始速度dt-时间步长nt-总的计算步数,等于结束时间除以dt返回值dsp-位移vel-速度acc-加速度[sdof,n2]=size(kk);dsp=zeros(sdof,nt);displacementmatrixvel=zeros(sdof,nt);velocitymatrixacc=zeros(sdof,nt);accelerationmatrixdsp(:,1)=q0;initialdisplacementvel(:,1)=dq0;initialvelocityalpha=0.5;beta=0.5;selecttheparametersacc(:,1)=inv(mm)*(fd(:,1)-kk*dsp(:,1)-cc*vel(:,1));computetheinitialacceleration(t=0)ekk=kk+mm/(alpha*dt^2)+cc*beta/(alpha*dt);forit=1:nt%loopforeachtimestepcfm=dsp(:,it)/(alpha*dt^2)+vel(:,it)/(alpha*dt)+acc(:,it)*(0.5/alpha-1);cfc=dsp(:,it)*beta/(alpha*dt)+vel(:,it)*(beta/alpha-1).acc

Matlab和系统动力学哪个比较容易学? 工科交通专业毕业论文,Matlab和系统动力学哪个比较容易上手?哪个高大上点?谢谢

#matlab 系统动力学

随机阅读

qrcode
访问手机版