⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lorenzsystembyinline.m

📁 利用Maltab求解变参数lorenz方程,在非线性动力学和混沌研究中经常遇到类似的问题。本程序也可以求解类似的有变参数的微分方程系统如Chen system, Lv system, Rossler
💻 M
字号:
%怎么求解变参数lorenz方程,比如,改变参数r,使r的取值在0.1到30之间,步长去为0.1,将结果放入一个细胞数组中。直接用ode45好像不能向里面传递参数,还有什么其他的方法解决么? 

%程序如下: 
% 经过简单的修改,本程序也可以求解类似的变参数的微分方程系统。

% 关于求解变参数lorenz方程 
fun=inline(['[-b*x(1)+x(2)*x(3);',... 
           '-xigma*(x(2)-x(3));',... 
           'r*x(2)-x(3)-x(1)*x(2)]'],... 
           't','x','flag','xigma','r','b'); 
xigma=10;b=8/3; 
rr=0.1:.1:3; 
Data_T=cell(length(rr),1); 
Data_X=cell(length(rr),1); 
tspan=[0,10]; 
x0=[0,0,1e-10]; 
for k=1:length(rr); 
   r=rr(k); 
   [T,X]=ode45(fun,tspan,[0,0,1],[],xigma,r,b); 
   Data_T(k)={T}; 
   Data_X(k)={X}; 
end 
p=randperm(length(rr));p(2:end)=[]; 
plot(cell2mat(Data_T(1)),cell2mat(Data_X(1))); 
title(['p=',num2str(p)]); 
A=cell2mat(Data_X(p)); 
figure;plot3(A(:,1),A(:,2),A(:,3)); 
title(['p=',num2str(p)]); 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -