Newton's Method for systems

15 Ansichten (letzte 30 Tage)
Mel Hernandez
Mel Hernandez am 6 Apr. 2018
Kommentiert: Mel Hernandez am 7 Apr. 2018

I'm trying to figure out what step 3 means in the picture attached. I know it's finding the Jacobian, but I don't understand what that means in 'Matlab code.' Also, if possible, is my code correct so far? This is what I have so far:

 function [x,ERR,k] = newtonMethod(f,j,x,Nmax,tol)
 % Inputs:
 %number of equations and unknowns, x0 = initial guess, Nmax = max iterations, 
 %tol =tolerance
 % Outputs: 
 %x = solution, ERR = error estimation, k = iterations
 %Step 1
 k = 1; ERR = 1; Niter = 50; x=x0; %tol = 10e-10;
 %Step 2
 while (k < Niter)
    %Step 3 - Compute F(x), J(x)
    %Step 4 - Solve for y s.t. J(x)*y = -F(x) using y = J\-F
    y = J(x)\(-F(x));
    %Step 5 - Set x = x + y
    x = x + y;
    %ERR
    ERR = norm(y,'inf');
    %Step 6
    if (ERR < tol)
        fprintf('convergent')
        break
    end
   %Step 7
    k = k+1;
 end
 end
  2 Kommentare
James Tursa
James Tursa am 6 Apr. 2018
How are you given f? Is it a function handle? Did the instructor tell you to use numerical difference methods to approximate the Jacobian?
Mel Hernandez
Mel Hernandez am 7 Apr. 2018
I believe we're supposed to input what f is, the system of equations. And the instructor didn't say. I didn't know if it would be better to do it in matlab (using jacobian command) or to do it by hand then say what it is as J. I'm just trying to understand Step 3.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by