Cannot solve a hyperbolic equation

3 visualizzazioni (ultimi 30 giorni)
Hasan Ghorbani
Hasan Ghorbani il 15 Apr 2015
Risposto: Star Strider il 15 Apr 2015
Hi,
I am trying to solve following equation using Matlab:
And here is my code:
syms z g;
eq1=z*sinh(790*g)==(12.3+i*1.49*10^-3);
eq2=tanh(395g)==z*(1.8*10^-9);
solve(eq1,eq2,z,g)
but I get following error:
Warning: Cannot solve symbolically. Returning a numeric approximation instead.
> In solve at 306
ans =
z: [1x1 sym]
g: [1x1 sym]
What I am doing wrong here?

Risposta accettata

Star Strider
Star Strider il 15 Apr 2015
For one, you left out a multiplication operator (*) in ‘eq2’. The numeric output is appropriate, since you’re identifying ‘Z0’ and ‘gamma’.
The code (corrected):
syms z g;
eq1=z*sinh(790*g)==(12.3+1i*1.49E-3);
eq2=tanh(395*g)==z*(1.8E-9);
[z,g] = solve(eq1,eq2,z,g)
produces:
z =
58452.259506186817111402883076281 + 3.5404010317307016714429740047407i
g =
0.00000026636472784652195740050195875373 + 0.000000000016133473234585554676003727620685i
Use the vpa or vpasolve functions if you don’t want quite so many digits.

Più risposte (1)

John D'Errico
John D'Errico il 15 Apr 2015
Why must it be that you did something wrong? Must a symbolic solution exist for all problems? No.
So it gave you a numerical solution. Did you look at what it returned? Does the solution satisfy the equations you have posed?
That was NOT an error anyway, but a warning.

Community Treasure Hunt

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

Start Hunting!

Translated by