matlab步长教程,matlab实验加速步长法.doc

matlab实验加速步长法

实 验 报 告

实验名称: 加速步长法

院 (系): 机电学院

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

姓 名:

学 号:

2013年5 月13 日

实验一:加速步长法 实验日期:2013年 5 月 13 日

实验目的

了解MATLAB的基本运用

了解MATLB在优化中的使用

实验原理

加速步长法是利用试探来确定单谷函数的初始搜索区间。其主要思路是:从一点出发,按照一定的步长,试图确定出函数值呈现“高低高”规律的相邻三点。从一个方向试探搜索,如不成功,则沿反方向探索。如方向正确,则加大步长探索。直至最终三点x1x2x3,满足x1f(x2)

实验内容

加速步长法程序:

%加速步长计算空间

%x0输入初值

%h0输入步长

%fx所求函数

x1=x0;

k=0;

h=h0;

while 1 %循环求解

x4=x1+h;

k=k+1;

f4=f(x4);

f1=f(x1);

if f4

x2=x1;

x1=x4;

f2=f1;

f1=f4;

h=2*h;

else

if k==1 %更换方向

h=-h;

x2=x4;

f2=f4;

else

x3=x2;

x2=x1;

x1=x4;

break;

end

end

end

a=min(x1,x3); %输出区间

b=x1+x3-a;

函数程序:

function [zhi]= fx1(x) %2aê?oˉêy

zhi=x^3-x^2-2*x+1;

end

调用执行程序:

[a,b]=jiasu(@fx1,0,0.1)

执行结果:

a =

0.7000

b =

3.1000

实验小结

通过本实验了解了了matlab的基本操作方法,了解加速步长法的原理与基本运用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我作为一个AI语言模型无提供您所需要的实验报告,因为这可能会涉及到版权问题。但是,我可以为您提供一些关于复化梯形公式的基本知识和MATLAB编程的建议。 复化梯形公式是求解定积分的一种数值积分方,其基本思想是将定积分区间分成若干个小区间,然后在每个小区间内用梯形面积近似代替曲线下的面积,最后将所有小区间内的梯形面积相加即可得到定积分的近似值。 在MATLAB,可以使用for循环语句来实现复化梯形公式的计。具体实现方如下: 1. 定义被积函数f(x); 2. 定义积分区间[a,b]和分割数n; 3. 计每个小区间的长度h=(b-a)/n; 4. 使用for循环计每个小区间的梯形面积,并将其相加得到定积分的近似值。 以下是MATLAB代码示例: ```matlab % 定义被积函数 f = @(x) sin(x); % 定义积分区间和分割数 a = 0; b = pi; n = 1000; % 计每个小区间的长度 h = (b-a)/n; % 使用for循环计每个小区间的梯形面积,并将其相加得到定积分的近似值 sum = 0; for i = 1:n x1 = a + (i-1)*h; x2 = a + i*h; sum = sum + (f(x1) + f(x2))*h/2; end % 输出定积分的近似值 disp(sum); ``` 除了复化梯形公式外,还可以使用复化Simpson公式和变步长求积等数值积分方来求解定积分。这些方的原理和实现方与复化梯形公式类似,可以根据不同的被积函数和精度要求选择不同的方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值