matlab实验二次插值法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验名称:二次插值法

院(系):机电学院

专业班级:机械制造及其自动化

姓名:

学号:

2013年5 月13 日

实验一:二次插值法实验日期:2013年5 月

13 日

一、实验目的

了解MATLAB的基本运用

了解MATLB在优化中的使用

二、实验原理

利用目标函数飞f(x)上极小点附近若干点的函数值构造一个与原函数相近的插函数平p(x),以插值函数的最优解作为目标函数的最优解的近似解。以插值函数平p(x)的极小点作为新的中间插入点,多次迭代,逐步缩小区间。

三、实验内容

二次插值法程序:

function [xmin,fmin]= erf(f,a0,b0,epsilon)

%二分法一维割搜索计算

%a0,b0初始区间

%fx2 测试函数

a=a0; %初始化

b=b0;

x1=a;f1=f(x1);

x3=b;f3=f(x3);

x2=0.5*(x1+x3);

f2=f(x2);

c1=(f3-f1)/(x3-x1);

c2=((f2-f1)/(x2-x1)-c1)/(x2-x3);

xp=0.5*(x1+x3-c1/c2);fp=f(xp);

while (abs(xp-x2)>=epsilon) %迭代求解

if x2

if f2>fp

f1=f2;x1=x2;

x2=xp;f2=fp;

else

f3=fp;x3=xp;

end

else

if f2>fp

f3=f2;x3=x2;

f2=fp;x2=xp;

else

f1=fp;x2=xp;

end

end

c1=(f3-f1)/(x3-x1);

c2=((f2-f1)/(x2-x1)-c1)/(x2-x3); xp=0.5*(x1+x3-c1/c2);

fp=f(xp);

end

if f2>fp %输出

xmin=xp;fmin=f(xp);

else

xmin=x2;fmin=f(x2);

end

end

函数程序:

function [zhi]= fx3(x) %3²âÊÔº¯Êý

zhi=exp(x)-2*x;

end

调用执行程序:

[xmin3,fmin3]=erf(@fx3,0,2,0.1) 执行结果:

xmin3 =

0.6621

fmin3 =

0.6147

四、实验小结

通过本实验了解了了matlab的基本操作方法,了解二次插值法的原理与基本运用

相关文档
最新文档