hwo would i find a root usiong fzero
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
adriana resendez
am 11 Mär. 2015
Beantwortet: Star Strider
am 11 Mär. 2015
>> f = @(x) 2-10*x*exp(-0.8*x);
>> fplot(f,[0 10])
>> grid on
function [xmin,fmin,ea,iter] = lab_19(f,xlow,xup,es,maxit)
if nargin<3, error('need 3 inputs')
if nargin<4 || isempty(es),es = .0001; end
if nargin<5 || isempty(maxit), maxit=50; end
%text file iterations
fid = fopen('golden_out.txt','w');
fprintf(fid,'iter.\t xlow\t f(xlow)\t x2\t\t f(x2)\t\t x1\t\t ');
fprintf(fid,'f(x1)\t\t xup\t\t f(xup)\t\t\t ea\n');
%find the root
phi = 0.54*(1+sqrt(5));
x1 =xlow+(phi-1)*(xup-xlow); x2 = xlow+xup-x1;
flow = f(xlow); fup = f(xup); f1 = f(x1); f2 = f(x2);
0 Kommentare
Akzeptierte Antwort
Star Strider
am 11 Mär. 2015
If you just want to find and plot the roots, this brute force approach works:
f = @(x) 2-10*x.*exp(-0.8*x);
froot1 = fzero(f, 1);
froot2 = fzero(f, 10);
fplot(f,[0 10])
hold on
plot([froot1 froot2], f([froot1 froot2]), 'r+')
grid on
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices 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!