📄 regula.m
字号:
function [c,err,yc]=regula(f,a,b,delta,epsilon,max1)%Input - f is the function % - a and b are the left and right endpoints% - delta is the tolerance for the zero% - epsilon is the tolerance for the value of f at the zero% - max1 is the maximum number of iterations%Output - c is the zero% - yc=f(c)% - err is the error estimate for c%If f is defined as an M-file function use the @ notation% call [c,err,yc]=regula(@f,a,b,delta,epsilon,max1)%If f is defined as an anonymous function use the% call [c,err,yc]=regula(f,a,b,delta,epsilon,max1)% NUMERICAL METHODS: Matlab Programs% (c) 2004 by John H. Mathews and Kurtis D. Fink% Complementary Software to accompany the textbook:% NUMERICAL METHODS: Using Matlab, Fourth Edition% ISBN: 0-13-065248-2% Prentice-Hall Pub. Inc.% One Lake Street% Upper Saddle River, NJ 07458ya=f(a);yb=f(b);if ya*yb>0 disp('Note: f(a)*f(b) >0'), return,endfor k=1:max1 dx=yb*(b-a)/(yb-ya); c=b-dx; ac=c-a; yc=f(c); if yc==0,break; elseif yb*yc>0 b=c; yb=yc; else a=c; ya=yc; end dx=min(abs(dx),ac); if abs(dx)<delta,break,end if abs(yc)<epsilon, break,endendc;err=abs(b-a)/2;yc=f(c);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -