Getting General Solution Using dsolve
27 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Guru Mohanty
on 21 Jan 2020
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 Comments
See Also
Categories
Find more on Calculus 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!