资源描述
三点二次插值法Matlab实现
实验目的:
1、通过本次实验了解线性搜索,加深对三点二次插值法的理解
2、根据三点二次插值法的算法步骤编写相应的Matlab程序,并利用matlab 程序计算求解最优化问题实验要求:
1、学习MATLAB编写三点二次插值法的程序设计方法。
2、对问题进行编程和解决问题。
3、按照格式规范,撰写计算机实践报告。
实验答案:
3. function chazhifasyms x;%定义
f二x"3-2*x+l;%目标函数al=0; a2=l; a3=3;%插值区间
k=0;while (abs(a3-al)>0. 01)
fl二subs (f, x, al);f2二subs (f, x, a2);
f3=subs (f, x, a3);Cl= (a2-a3)*f1+(a3-al)*f2+(al-a2)*f3;
ap= 0. 5*((a2"2-a3"2)*fl+(a3“2-a「2)*f2+(a「2-a2“2)*f3)/Cl; fp=subs (f, x, ap);if ap>a2
if f2>=fpal=a2;
fl=f2;a2=ap;
f 2二f p;else
a3=ap;f3=fp;
endelse
if f2>=fpa3=a2;
f3=f2;a2=ap;
f2=fp;
else
al=ap;
fl=fp; end endk=k+l
a 二 apff二subs (f, x, ap)
end
展开阅读全文