How to solve the differential equation numerically
조회 수: 13 (최근 30일)
이전 댓글 표시
My equation is this:
(-Vs/500)-((6e-10)*diff(Vs,t))+(7/250)+(7.226*Vs*((Vs/1000)+((3e-10)*diff(Vs,t))-7/500)^2)-(3/25000)*(Vs^2)-((4.336e-9)*diff(Vs,t))-(0.014*Vs)-((1.08e5)*((Vs/1000)+((3e-10)*diff(Vs,t))-7/500))+0.2023=0
Vs(0)=7.9
I tried using dsolve but there is no explicit solution. I need solved vector with numerical values for Vs with constant rise in 't'.
Can anyone please help me?
댓글 수: 5
J. Alex Lee
2020년 6월 9일
By "no explicit solution" I think you mean "no analytical solution".
If diff(Vs(t),t) means
and that is the only differential term, your equation still looks "explicit in
", which means you can put your equation in the form

rather than how you have it. I'm not going to go through your equation term by term to verify, you should do so yourself.
Then, you should be able to follow Asvin's advice to look at examples of how to solve that class of problems using ode45.
If your problem is truly "implicit" in
, then look at https://www.mathworks.com/help/matlab/math/choose-an-ode-solver.html under "Types of ODEs" near the top
채택된 답변
Asvin Kumar
2020년 6월 9일
As others have mentioned in the comments, ODE seems best suited for this problem. Here’s an example from which you can adapt a solution. Solve a Nonstiff Equation using ode45
댓글 수: 2
Asvin Kumar
2020년 6월 9일
I see what you're talking about. ode15i is the recommended way to go about these problems. Have a look at this example on solving Weissinger Implicit ODE to get started. This should give you an idea of how you can use the function.
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!