finding the value of a in my fresnel equation

3 views (last 30 days)
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 Comments
David Hill
David Hill on 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 on 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

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 28 Feb 2020
Edited: Walter Roberson on 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)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!