Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Problem with nonlinear solver fsolve??

조회 수: 3 (최근 30일)
ghazal mohamed
ghazal mohamed 2018년 1월 8일
마감: MATLAB Answer Bot 2021년 8월 20일
Hi everyone,
I try to solve
g=@(x)((0.01783926*sin(0.02077086*x)/7155831.61*x)-1.7519952539)
using fsolve toolbox with this options:
options=optimoptions('fsolve','algorithm','Levenberg-Marquardt','Display','off');
but it returns x0 that i passed in parameter see this examples:
>> fsolve(g,0.1,options)
ans =
0.1000
>>fsolve(g,222,options)
ans =
222.0000
fsolve(g,pi,options)
ans =
3.1416
how i can choose the x0 to get a correcte solution?
thanks
  댓글 수: 2
Torsten
Torsten 2018년 1월 8일
Plot your function and you'll find the reason.
Best wishes
Torsten.
ghazal mohamed
ghazal mohamed 2018년 1월 9일
Ok,Torsten Thank you for your reply.

답변 (1개)

John D'Errico
John D'Errico 2018년 1월 8일
Note my use of .* in there, to allow vectorized input.
g=@(x)((0.01783926*sin(0.02077086*x)/7155831.61.*x)-1.7519952539)
ezplot(g,[0 5000])
grid on
Se that your function pretty much never crosses zero. Although, if I allow it to go out much further, it could, since the swings oscillate in size proportionally with x.
So I think you have a problem in your function definition.
  댓글 수: 1
ghazal mohamed
ghazal mohamed 2018년 1월 9일
Hi john, thank you for your reply, yes the problem is with the function's expression.

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by