⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 golden.m

📁 关于数值计算的matlab程序代码,包含了很多的实用的算法.程序全部可以直接用的,有详细的英文注释.
💻 M
字号:
function [S,E,G]=golden(f,a,b,delta,epsilon)%Input  - f is the object function input as a string 'f'%       - a and b are the endpoints of the interval%       - delta is the tolerance for the abscissas%       - epsilon is the tolerance for the ordinates%Output - S=(p,yp) contains the abscissa p and%         the ordinate yp of the minimum%       - E=(dp,dy) contains the error bounds for p and yp%       - G is an n x 4 matrix: the kth row contains [ak ck dk bk];%         the values of a, c, d, and b at the kth iteration%  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 07458r1=(sqrt(5)-1)/2;r2=r1^2;h=b-a;ya=feval(f,a);yb=feval(f,b);c=a+r2*h;d=a+r1*h;yc=feval(f,c);yd=feval(f,d);k=1;A(k)=a; B(k)=b; C(k)=c; D(k)=d;while (abs(yb-ya)>epsilon)|(h>delta)   k=k+1;   if (yc<yd)      b=d;      yb=yd;      d=c;      yd=yc;      h=b-a;      c=a+r2*h;      yc=feval(f,c);   else      a=c;      ya=yc;      c=d;      yc=yd;      h=b-a;      d=a+r1*h;      yd=feval(f,d);   end   A(k)=a; B(k)=b; C(k)=c; D(k)=d;enddp=abs(b-a);dy=abs(yb-ya);p=a;yp=ya;if (yb<ya)   p=b;   yp=yb;endG=[A' C' D' B'];S=[p yp];E=[dp dy];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -