How to solve systems of non linear equation of dimensions 100 using ode45 matalb.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
RITIKA Jaiswal
le 25 Sep 2022
Modifié(e) : Torsten
le 3 Oct 2022
how should i proceed if we want to implement its code?
2 commentaires
Davide Masiello
le 25 Sep 2022
It'd be best to post a first code attempt from your side, then we could try to help develop on that.
Réponse acceptée
Davide Masiello
le 25 Sep 2022
If I were you, I would proceed substantially differently.
Since you need to solve 100 equations, it is unthinkable to cde them one by one.
The key here is indexing.
For instance
clear,clc
tspan = [0,7];
x0 = zeros(1,1000); % substitute with correct initial conditions
dgn = ones(1,1000); dgn(251:750) = 1/2;
D = zeros(1000); D(logical(eye(1000))) = dgn;
options = odeset('Mass',D);
[t,X] = ode45(@odeFunc,tspan,x0,options);
function dxdt = odeFunc(t,x)
g = @(x) exp(40*x)+x-1;
dxdt(1,1) = -g(x(1))-g(x(1)-x(2))+exp(-t);
dxdt(2:length(x)-1,1) = g(x(1:end-2)-x(2:end-1))-g(x(2:end-1)-x(3:end));
dxdt(length(x),1) = g(x(end-1)-x(end));
end
12 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Ordinary Differential Equations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!