Getting General Solution Using dsolve
27 ビュー (過去 30 日間)
古いコメントを表示
I am trying to solve the equation below
ode(x) =
clc;clear
syms y(x)
RHS = (y + x*(x^2 + y^2)^(1/2))/(x - y*(x^2 + y^2)^(1/2))
ode = diff(y,x) == RHS
ysol = dsolve(ode,'IgnoreAnalyticConstraints', false)
But it is saying that it is unable to find explicit solution. In Wolfram Alpha however, the general solution came out to be
sqrt(x^2 + y(x)^2) + tan^(-1)(x/y(x)) = c_1
How do I get this in Matlab?
0 件のコメント
回答 (1 件)
Guru Mohanty
2020 年 1 月 21 日
Hi, I understand that you are not able to find solution through dsolve. The function dsolve can solve differential equations when variables are separable. However you can solve this differential equation using MATLAB Numerical Solver ode45. Here is a sample code.
tspan = -5:0.5:5; % Interval of Integration
y0 = 0; % Initial Condition
[x,y] = ode45(@(x,y)odefun(x,y), tspan,y0);
plot(x,y);
function dydx = odefun(x,y)
dydx = (y + x.*(x.^2 + y.^2).^(1/2))/(x - y.*(x.^2 + y.^2).^(1/2));
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!