hwo would i find a root usiong fzero

1 Ansicht (letzte 30 Tage)
adriana resendez
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);

Akzeptierte Antwort

Star Strider
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

Weitere Antworten (0)

Kategorien

Mehr zu Read, Write, and Modify Image finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by