How to solve a differential equation with non-constant coefficients
조회 수: 6 (최근 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
참고 항목
카테고리
Help Center 및 File Exchange에서 Scope Variables and Generate Names에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!