作业帮 > 综合 > 作业

matlab程序求助(有关ode45解微分方程的)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/23 00:25:08
matlab程序求助(有关ode45解微分方程的)
主程序:
for T1=0:0.01:250
% dynamic concentration equation
tspan=[T1,T1+0.01];
y0=ci;
[t,y]=ode45(@initiatorc,tspan,y0); % solve the initiator concentration
Xci=y(end);
调用的函数:
function dydt = initiatorc( t,y )
%INITIATORC Summary of this function goes here
% Detailed explanation goes here
global K V F ci
dydt=((ci-y)*F/V)-K(1)*y;
end
结果:
Error using ==> odearguments at 116
Solving INITIATORC requires an initial condition vector of length 1.
Error in ==> ode45 at 173
[neq,tspan,ntspan,next,t0,tfinal,tdir,y0,f0,odeArgs,odeFcn,...
Error in ==> mma at 66
[t,y]=ode45(@initiatorc,tspan,y0); % solve the initiator concentration
希望大神帮我看看 本人MATLAB小白一枚 求大家耐心指导 感激不尽
从结果来看,你把一个数组赋给了y0

检查看看是不是ci的问题
再问: ci在前面的程序中赋了初值 应该不是一个数组吧
再答: ci是一个整体还是表示c的第i个元素,只可能是初值的问题
再问: 谢谢啊 我的问题解决了 是我之前赋的初值有问题 分就给你吧