1个回答
展开全部
怎么用Matlab画一个含参数的多维微分方程的图像?我们可以这样来考虑:
第一步,对参数进行全局变量,即
global rho phi lambda alpha eta
第二步,如每组参数都是数组(行向量)的话,可以分别用rho1,phi1,lambda1,alpha1,eta1
rho1=[。。。]
phi1=[。。。]
lambda1=[。。。]
alpha1=[。。。]
eta1=[。。。]
第三步,利用for循环语句,将每组参数赋值给微分方程组函数中,即
rho=rho1(i);
phi=phi1(i);
lambda=lambda1(i);
alpha=alpha1(i);
eta=eta1(i);
第四步,使用ode45函数求解【t,x】的值。即
[t,x] = ode45(@func,[0 20],y0);
t;Sq=x(1);S=x(2);E=x(3);I=x(4);A=x(5);
第五步,使用plot函数绘制含参数的多维微分方程的图像
plot(t,x),hold on
xlabel('t'),ylabel('x')
第六步,完善代码运行得到结果
第一步,对参数进行全局变量,即
global rho phi lambda alpha eta
第二步,如每组参数都是数组(行向量)的话,可以分别用rho1,phi1,lambda1,alpha1,eta1
rho1=[。。。]
phi1=[。。。]
lambda1=[。。。]
alpha1=[。。。]
eta1=[。。。]
第三步,利用for循环语句,将每组参数赋值给微分方程组函数中,即
rho=rho1(i);
phi=phi1(i);
lambda=lambda1(i);
alpha=alpha1(i);
eta=eta1(i);
第四步,使用ode45函数求解【t,x】的值。即
[t,x] = ode45(@func,[0 20],y0);
t;Sq=x(1);S=x(2);E=x(3);I=x(4);A=x(5);
第五步,使用plot函数绘制含参数的多维微分方程的图像
plot(t,x),hold on
xlabel('t'),ylabel('x')
第六步,完善代码运行得到结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询