Newton's Method for systems

15 visualizzazioni (ultimi 30 giorni)
Mel Hernandez
Mel Hernandez il 6 Apr 2018
Commentato: Mel Hernandez il 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 Commenti
James Tursa
James Tursa il 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 il 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.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Systems of Nonlinear Equations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by