Azzera filtri
Azzera filtri

finding the value of a in my fresnel equation

3 visualizzazioni (ultimi 30 giorni)
hi all, need helping find the value of a from the following equation:
1st i defined my fresnelc function:
>> syms a
>> F = a*int(cos((pi/2)*u^2),u,0,((0.01*a)/(pi)))
F =
a*fresnelc(a/(100*pi))
then i used F and the "solve command" to find the answer to a:
double( solve (atan((-1*((F)-62.811))/(sqrt((100^2)-((F)-62.811)^2)))-(0.000015915)*(a^2), a ) )
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
> In solve (line 304)
ans =
-115.0075
the answer should be = 200, but it gives me -115.2 , please do tell me if im doing anything wrong, just for reference im attaching the actual function as well:
please do let me know if im going wrong somewhere in the matlab command???
best regards,
Rehan
  2 Commenti
David Hill
David Hill il 28 Feb 2020
double( solve (atan((-F+62.811)/sqrt(100^2-(F-62.811)^2)-(0.000015915)*(a^2), a ) ))
I cleaned up the equation some and I am getting +115.2853
Rehanos_boyzee
Rehanos_boyzee il 28 Feb 2020
Thanks David,
I can see you removed alot of brackets and cleaned the solution, thanks. Good atleast its positive now, but still in the reference the value comes out to be equal to a=200. which is why i felt im doing something wrong. did notice any other mistakes in my working methods?
please do let me know,
regards,
Rehan

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 28 Feb 2020
Modificato: Walter Roberson il 28 Feb 2020
You are not going to get a closed form solution, so there is no point using solve() .
Instead you should use vpasolve(). vpasolve() permits you to pass in an initial guess, or even a search range, as the third parameter.
And remember you can
syms s
assume(s>0)

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by