Hello, I have to write a simple Newton function but it's not working:
%%file newton.m
function out = newton (f, df, x, eps)
k = 0;
h = f(x)/df(x); % error
while abs(h)>= eps && (k < 1000)
h = f(x)/df(x);
x = x - h;
k = k+1;
end
out = x;
end
Then I have to create a matrix which stocks the solutions of the newton's function and create a graph from this matrix but it's not working either:
%%file f1.m
function [out] = f1(x)
out = x.^3 - (6*x.^2)+ 11*x - 6;
end
%%file df1.m
function out=df1(x)
out=3*x.^2 - 12*x + 11;
end
Tab[]
for i = -1:0.05:5 %% I have to apply Newton on the values x = [-1:0.05:5]
Tab = [Tab [newton(i,f1,df1,10^(-8))]] %% error message: the variable Tab appears to change size on every loop iteration
end
plot(-1:0.05:5,Tab)
Can someone please help me?

 Réponse acceptée

Matt J
Matt J le 12 Sep 2021
Modifié(e) : Matt J le 12 Sep 2021

0 votes

Tab=[];
for x = -1:0.05:5
Tab = [Tab , newton(@f1,@df1,x,10^(-8)) ]
end

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Produits

Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by