matlab vpasolve function not returning correct answer
이전 댓글 표시
hi i have follow code:
clc
clear all
syms yn
b=3;
m=1;
S=0.001;
n=0.014;
Q=28;
A=(b+m*yn)*yn;
T=b+2*m*yn;
P=b+2*yn*sqrt(1+m^2);
R=A/P;
D=A/T;
Eq=Q==(A/n)*S^(0.5)*R^(2/3);
yn=vpasolve(Eq,yn)
matlb give me "yn=- 4.2710 + 2.1157*i " as a Mixed number but the true answer is "yn=2.128"
Why does Matlab say this answer?
채택된 답변
추가 답변 (1개)
Torsten
2018년 1월 25일
Use
Eq=Q==(A/n)*S^(0.5)*(R^2)^(1/3);
instead of
Eq=Q==(A/n)*S^(0.5)*R^(2/3);
Best wishes
Torsten.
댓글 수: 5
mohamad khazaeezade
2018년 1월 25일
mohamad khazaeezade
2018년 1월 25일
Torsten
2018년 1월 25일
And what comes out if you use the other form of the equation ?
mohamad khazaeezade
2018년 1월 25일
Torsten
2018년 1월 25일
-5.31 is a solution of your equation, but not the one you are looking for.
Setting an initial guess for the solution - like Birdman suggests - should help.
Or you could try to use
assume(yn>0)
Best wishes
Torsten.
카테고리
도움말 센터 및 File Exchange에서 Special Values에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!