ode45可以求解含有数组的微分方程吗?
比如:functiony=H(t,x)mu=49;ms=300;ks=17000;f=[02156139011];%f为一个数组kt=200000;q=0.01*sin(...
比如:
function y=H(t,x)
mu=49;
ms=300;
ks=17000;
f=[0 2 1 5 6 1 3 9 0 1 1];%f为一个数组
kt=200000;
q=0.01*sin(2*pi*t);
y(1)=x(2);
y(2)=-(ks*(x(1)-x(3))+f)/ms;
y(3)=x(4);
y(4)=(ks*(x(1)-x(3))+f-kt*(x(3)-q))/mu;
y=[y(1);y(2);y(3);y(4)];
end
N=10;
x0=[0.01 0.01 0.01 0.01];
t=0:1:N;
[t,x]=ode45('H',t,x0); 展开
function y=H(t,x)
mu=49;
ms=300;
ks=17000;
f=[0 2 1 5 6 1 3 9 0 1 1];%f为一个数组
kt=200000;
q=0.01*sin(2*pi*t);
y(1)=x(2);
y(2)=-(ks*(x(1)-x(3))+f)/ms;
y(3)=x(4);
y(4)=(ks*(x(1)-x(3))+f-kt*(x(3)-q))/mu;
y=[y(1);y(2);y(3);y(4)];
end
N=10;
x0=[0.01 0.01 0.01 0.01];
t=0:1:N;
[t,x]=ode45('H',t,x0); 展开
1个回答
展开全部
像这样含有数组的微分方程,只能通过循环语句来完成。也就是说,当f为某一值时求t、x值。可以将主程序改成如下形式:
N=10;
f=[0 2 1 5 6 1 3 9 0 1 1];%f为一个数组
for i=1:length(f)
x0=[0.01 0.01 0.01 0.01];
t=0:1:N;
[t x]=ode45(@(t,x)H(t,x,f(i)),t,x0)
end
自定义函数文件改成下列形式
function y=H(t,x,f)
..........
end
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询