hi I am trying to calculate the 4th root of the function f(x)=3x4+7x3−4x2−10x+15 using newtons method and a for - loop
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
% EMTH171
% script using newtons method
clear
clc
close all
% function
f = @(x) 3*x.^4 + 7*x.^3 - 4*x.^2 - 10*x + 1/5;
% derivative
d = @(x) 12*x.^3 + 21*x.^2 - 8*x - 10;
% test value
x = -0.5;
N = 100;
for ii =1 : N
x = x - f(x)/d(x);
end
z = nArray(4,1);
disp(z);
3 commentaires
David Hill
le 30 Août 2020
Modifié(e) : David Hill
le 30 Août 2020
If you graph it, you can see where the 4 roots are approximately.
f = @(x) 3*x.^4 + 7*x.^3 - 4*x.^2 - 10*x + 1/5;
x=-2.4:.001:1.3;
plot(x,f(x));
grid on;
David Hill
le 30 Août 2020
I think you just need to pick your test value closer to the root you are trying to find.
Réponses (1)
Rafael Hernandez-Walls
le 30 Août 2020
clear
clc
close all
% function
f = @(x) 3*x.^4 + 7*x.^3 - 4*x.^2 - 10*x + 1/5;
% derivative
df = @(x) 12*x.^3 + 21*x.^2 - 8*x - 10;
%first graphic
x=-2.4:.001:1.3;
plot(x,f(x));
grid on;
% test value; click with mouse near x=1
[x y]=ginput(1);
%iterations newton method
N = 100;
for ii =1 : N
x = x - f(x)/df(x);
end
disp('Solution:')
x
0 commentaires
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!