How to use Newton-Raphson for numerical solution of two variables?
이전 댓글 표시
Hello community,
I have a non-linear function f(x,y), which I would like to find the roots of with the Newton-Raphson method. However, I haven't yet found a simple code on the internet in case of two variables, which just lets me enter my function and get the result. If I find one, the solutions on the internet always need two equations, but I only have one?
댓글 수: 2
Newton-Raphson only applies to N equations in N unknowns. If you have fewer equations than unknowns, there will normally be an infinite continuum of roots. For example,
f(x,y)=x+y
has roots at all x=-y.
Jonas
2013년 9월 8일
답변 (2개)
Matt J
2013년 9월 8일
Can i divide it into a real and an imaginary equation
You could just rewrite your function to return a 2x1 vector containing the real and imaginary part respectively.
If f() is your existing function, you could also do
f_new=[real(f(x,y)); imag(f(x,y))]
댓글 수: 7
Jonas
2013년 9월 8일
Jonas
2013년 9월 8일
Matt J
2013년 9월 8일
I'm having no difficulty with it.
>> f=@(x,y) [real(fname(x,y)) ; imag(fname(x,y)) ]
>> fname(.1,.2)
ans =
-2.0418e+23 + 2.1406e+23i
>> f(.1,.2)
ans =
1.0e+23 *
-2.0418
2.1406
Jonas
2013년 9월 8일
Matt J
2013년 9월 8일
Now that you have a system of 2 equations in 2 unknowns, the Newton-Raphson code that you've been using should work fine. There is also FZERO, if you have it.
Jonas
2013년 9월 8일
카테고리
도움말 센터 및 File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!