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
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
% 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 Commenti
David Hill
il 30 Ago 2020
Modificato: David Hill
il 30 Ago 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
il 30 Ago 2020
I think you just need to pick your test value closer to the root you are trying to find.
Risposte (1)
Rafael Hernandez-Walls
il 30 Ago 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 Commenti
Vedere anche
Categorie
Scopri di più su Symbolic Math Toolbox 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!