Problem with nonlinear solver fsolve??
정보
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
이전 댓글 표시
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
2018년 1월 8일
Plot your function and you'll find the reason.
Best wishes
Torsten.
ghazal mohamed
2018년 1월 9일
답변 (1개)
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
2018년 1월 9일
이 질문은 마감되었습니다.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!