How to solve systems of non linear equation of dimensions 100 using ode45 matalb.
    6 views (last 30 days)
  
       Show older comments
    

how should i proceed if we want to implement its code?
2 Comments
  Davide Masiello
      
 on 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.
Accepted Answer
  Davide Masiello
      
 on 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 Comments
More Answers (0)
See Also
Categories
				Find more on Ordinary Differential Equations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


