Filter löschen
Filter löschen

"Cannot find explicit solution"

1 Ansicht (letzte 30 Tage)
Ziqiang Gao
Ziqiang Gao am 4 Apr. 2016
Kommentiert: Torsten am 4 Apr. 2016
The Matlab says "Cannot find explicit solution". Please help.
syms t1;
x=15*10^(-6)*sin(2.76*10^7*(1.5*10^(-7)+t1));
phi=x/(200*10^(-6));
c=abs(414*t1*cos(pi/4)-18*10^(-6));
d=200*10^(-6)-414*t1*sin(pi/4);
beta=c/d;
f=phi-beta==0;
solve(f,t1);
disp(t1)
----------------------------
Warning: Cannot find explicit solution.
> In solve (line 318)
In Untitled2 (line 8)
t1
Also, maybe there will be many solutions about t1. I need the minimum one. Thank you or you help.
  1 Kommentar
Torsten
Torsten am 4 Apr. 2016
1. Plot (phi-beta) vs. t1. This will give you a good initial guess for t1 such that (phi-beta)=0.
2. Use MATLAB's "fzero" together with the initial guess from 1. to approximate the zero in question with higher precision.
Don't use symbolic algebra for this problem because an analytical solution for your equation is not available.
Best wishes
Torsten.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

John D'Errico
John D'Errico am 4 Apr. 2016
This is a 1-variable problem, but one for which there will surely be no analytical solution. Solve told you as much.
So just use fzero. Since you expect multiple solutions, just plot it, then choose a starting bracket that will yield the minimum solution. There is no need to use syms anyway if you are working with doubles. If you insist on a high precision solution, then use vpasolve, in a similar way to ensure the minimum solution.

Community Treasure Hunt

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

Start Hunting!

Translated by