Modeling concentration using ODE
5 次查看(过去 30 天)
显示 更早的评论
I'm trying to model a dye concentration but I cannot make to run and I'm stuck. It gives an error but it will not tell what is wrong. Can any one help thanks?
clear all;
data = load('test_data.dat');
time = size(data,1);
u = data(:,2);
tspan = [1:1:time];
y0 = data(1,3);
f = -0.25;
g = 0.25;
T = 10.0;
[t,y]=ode45(@model,tspan,y0,f,g,T,U);
plot(t, y(:,end), '*-b', 'LineWidth', 1);
function dydt = model(t,y,f,g,T,u)
if t-1 <= T
u = 0;
else
t_back = t-T;
n = floor(t_back); u =(n);
end
dydt = f*y + g*u;
return;
end
9 个评论
Star Strider
2021-9-29
Please provide a symbolic (preferably LaTeX) version of the differential equation system you’re working with, and the parameters you want to estimate. If you have a PDF of a paper describing what you want to do, that would be even better. (Attach / upload the PDF, not a link to it, because thery’re usually behind a paywall, preventing me from accessing them if I don’t subscribe to the journal.)
Also, putting if blocks in the differential equation function is going to cause problems. Numerical differential equation integration functions don’t do well when integrating across the discontinuities that the if blocks cause.
I don’t understand the reason ‘parameter’ is nowhere represented in the differential equation.
I’ll do my best to see if I can get the differential equation (or system of them) to work with my code and your data.
.
回答(1 个)
Sulaymon Eshkabilov
2021-9-29
You had better use this data importing fcn:
data = readmatrix('test_data.dat');
Make sure that the data file (test_data.dat) is present in your current directory or change to the directory where the data file (test_data.dat) is residing.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!