Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

What did I do wrong here?

1 vue (au cours des 30 derniers jours)
Zifeng Qiu
Zifeng Qiu le 6 Juil 2020
Clôturé : madhan ravi le 6 Juil 2020
I am trying to calculate the amount of fish I can catch in a year based on this model. What did I do wrong? The answer that I got is super huge.
u0 = 5000;
lambda = 0.03;
pm = 9000;
f = @(t,k) lambda*500*(1-500/pm)-k;
[t,k] = RK4(f,u0,100,10)
Kf = k(end)
  2 commentaires
Image Analyst
Image Analyst le 6 Juil 2020
What I get is
Unrecognized function or variable 'RK4'.
Where did you define that?
Zifeng Qiu
Zifeng Qiu le 6 Juil 2020
Sorry, that was a function that I wrote, here are the code:
function [tv, uv] = RK4(f, u0, T, n)
dt = T/n; % Differential of time.
tv = transpose(0:dt:T); % Evaluation times.
uv = zeros(n+1, 1); % Solution.
uv(1) = u0; % Initial value
for i=1:length(tv)-1
k1 = f(tv(i), uv(i))
k2 = f(tv(i) + (dt/2), uv(i) + dt*k1/2)
k3 = f(tv(i) + (dt/2), uv(i) + dt*k2/2)
k4 = f(tv(i) + dt, uv(i) + dt*k3)
uv(i+1) = uv(i) + dt/6*[k1+2*k2+2*k3+k4]
end
end

Réponses (1)

Alan Stevens
Alan Stevens le 6 Juil 2020

Cette question est clôturée.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by