How to solve systems of non linear equation of dimensions 100 using ode45 matalb.
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
RITIKA Jaiswal
am 25 Sep. 2022
Bearbeitet: Torsten
am 3 Okt. 2022

how should i proceed if we want to implement its code?
2 Kommentare
Davide Masiello
am 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.
Akzeptierte Antwort
Davide Masiello
am 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
