finding the value of a in my fresnel equation

3 次查看(过去 30 天)
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 个评论
David Hill
David Hill 2020-2-28
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 2020-2-28
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

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2020-2-28
编辑:Walter Roberson 2020-2-28
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)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by