How can I get the analytical solution for this problem?

조회 수: 42 (최근 30일)
Danny Allen
Danny Allen 2020년 6월 14일
댓글: Walter Roberson 2020년 6월 14일
I'm new to MATLAB, and was asked to get the analytical soltuion for the following function: , however, I'm having a really hard time.
My code was as follows, and I kept recieving an error when I tried to plot:
syms y(x);
ode = diff(y,x) == 2-sqrt(2*x-y+3);
cond = y(0) == 100;
ySol(x) = dsolve(ode,cond);
x = 0:1:100;
plot (x,ySol(x))
In all honestly, I'm not sure if this is the correct method to solving for an analytical soltuion. I would really appreciate any help, and if possible, any guidance on what other resources can help me become more proficient with MATLAB.

채택된 답변

Walter Roberson
Walter Roberson 2020년 6월 14일
syms y(x);
ode = diff(y,x) == 2-sqrt(2*x-y+3);
cond = y(0) == 100;
ySol(x) = dsolve(ode,cond);
x = 0:1:100;
ySols = ySol(x);
subplot(1,2,1);
plot(x, real(ySols{1}), 'b', x, imag(ySols{1}), 'r');
legend({'real', 'imaginary'})
title('solution 1')
subplot(1,2,2)
plot(x, real(ySols{2}), 'b', x, imag(ySols{2}), 'r');
legend({'real', 'imaginary'})
title('solution 2')
  댓글 수: 2
Danny Allen
Danny Allen 2020년 6월 14일
Thank you so much for helping with obtaing a graphical solution!
If by any chance you see this, could you please explain to me how you knew/why you used ySols within the commands.
Sorry if this may seem like a basic question, but I'm really just trying to understand where everything comes from because this is the first time I've used Matlab...
Walter Roberson
Walter Roberson 2020년 6월 14일
I ran the code and saw that executing ySol(x) returned a cell array with two entries, each one a 1 x 100 array of symbols.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

madhan ravi
madhan ravi 2020년 6월 14일
편집: madhan ravi 2020년 6월 14일
It is correct approach. I suggest you to do MATLAB Onramp course and watch Cleve Moler's videos about odes.
P.S: MATLAB is not able to find the analytical solution.
  댓글 수: 5
Walter Roberson
Walter Roberson 2020년 6월 14일
R2020a does find an analytic solution. two analytic solutions.
madhan ravi
madhan ravi 2020년 6월 14일
Interesting in 2018b I didn't.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by