How to solve a differential equation with non-constant coefficients
조회 수: 9 (최근 30일)
이전 댓글 표시
Hi all
I have equation like this dy/dx = a(x)*y + b
where : a(x) is non constant (a=1/x) and b is a vector (10000 rows)
how can I solve this equation using matlab !!
Someone answer me plz
댓글 수: 0
답변 (3개)
Torsten
2017년 6월 8일
Take a look at the example
ODE with Time-Dependent Terms
under
https://de.mathworks.com/help/matlab/ref/ode45.html
Best wishes
Torsten.
댓글 수: 4
Torsten
2017년 6월 13일
So you want to solve the ODE
y'=y/x-sqrt(Bx^2+By^2+Bz^2)
for all combinations (Bx,By,Bz) from your loaded arrays ?
Then use a loop over the length of Bx:
a = @(x) 1/x;
xdomain = linspace(1,100,10);
y0=1;
%b = rand(10000,1);% aléatoire
load ('Bx');
load ('By');
load ('Bz');
for i=1:numel(Bx)
f=@(x,y) a(x)*y-sqrt(Bx(i)^2+By(i)^2+Bz(i)^2);
[x,y]=ode45(f,xdomain,y0);
yvec(i,:)=y(:);
end
Best wishes
Torsten.
Francisco Rosales
2020년 5월 15일
Hi all
I have equation like this Az'(t) = Bz(t)+ b
how can I solve this equation using matlab !!
Someone answer me plz
Thaks
Grace
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
