matlab实验鲍威尔法

上传人:汽*** 文档编号:485349227 上传时间:2023-08-27 格式:DOCX 页数:8 大小:70.24KB
返回 下载 相关 举报
matlab实验鲍威尔法_第1页
第1页 / 共8页
matlab实验鲍威尔法_第2页
第2页 / 共8页
matlab实验鲍威尔法_第3页
第3页 / 共8页
matlab实验鲍威尔法_第4页
第4页 / 共8页
matlab实验鲍威尔法_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《matlab实验鲍威尔法》由会员分享,可在线阅读,更多相关《matlab实验鲍威尔法(8页珍藏版)》请在金锄头文库上搜索。

1、-精选文档 -实 验 报 告实验名称:鲍威尔法院 (系):机电学院专业班级:机械制造及其自动化姓名:学号:2013 年 5 月 13 日可编辑-精选文档 -实验一:鲍威尔法实验日期:2013 年 5 月13 日一、实验目的了解 MATLAB 的基本运用了解 MATLB 在优化中的使用二、 实验原理鲍威尔法也是一种共轭法,利用函数值来构造共轭方向,同时引入坐标轮换的概念,利用搜索前后两个点之间的连线形成新的共轭方向,替换旧的共轭方向。三、实验内容鲍威尔法程序:x0=12;10;xk=x0;ie=10(-7);ae=1;% 初始化搜索方向d=zeros(2,2);可编辑-精选文档 -d(:,1)=

2、1;0;d(:,2)=0;1;Inc=zeros(2,1);k=0;MLN=100;% 迭代求解while (aeie&k0F0=eval(F0);end%沿 d1 方向进行一维搜索syms a可编辑-精选文档 -syms x1;syms x2;xk1=xk+a*d(:,1);x1=xk1(1);x2=xk1(2);fun1=fun(x1,x2);fxa=diff(fun1,a);a=solve(fxa);xk1=inline(xk1);xk1=feval(xk1,a);xk1(1)=eval(xk1(1);xk1(2)=eval(xk1(2);syms x1;syms x2;fun1=fun

3、(x1,x2);fun1=inline(fun1);f1=feval(fun1,xk1(1),xk1(2);f1=eval(f1);Inc(1)=f0-f1;可编辑-精选文档 -%沿 d2 方向进行搜索syms a;syms x1;syms x2;xk2=xk1+a*d(:,2);x1=xk2(1);x2=xk2(2);fun1=fun(x1,x2);fxa=diff(fun1,a);a=solve(fxa);xk2=inline(xk2);xk2=feval(xk2,a);xk2(1)=eval(xk2(1);xk2(2)=eval(xk2(2);syms x1;syms x2;fun1=f

4、un(x1,x2);fun1=inline(fun1);f2=feval(fun1,xk2(1),xk2(2);可编辑-精选文档 -f2=eval(f2);F2=f2;Inc(2)=f1-f2;Incm,row=max(Inc);x3=2*xk2-xk;%计算反射点syms x1;syms x2;fun1=fun(x1,x2);fun1=inline(fun1);f3=feval(fun1,x3(1),x3(2);f3=eval(f3);F3=f3;temp1=(F0-2*F2+F3)*(F0-F2-Incm)2;temp2=0.5*Incm*(F0-F3)2;%判断是否更换搜索方向if (F

5、3F0&temp1temp2)syms a;syms x1;syms x2;可编辑-精选文档 -d(:,row)=xk2-xk;xk=xk2+a*d(:,row);x1=xk(1);x2=xk(2);fun1=fun(x1,x2);fxa=diff(fun1,a);a=solve(fxa);xk=inline(xk);xk=feval(xk,a);% 不更换搜索方向else if F2F3xk=xk2;elsexk=x3;endendxkerror=eval(xk2-xktemp);ae=norm(xkerror);k=k+1;可编辑-精选文档 -endx=eval(xk)函数程序:functionf=fun(x1,x2)f=2*x12+4*x1*x2+x22执行结果:x =00四、 实验小结通过本实验了解了了matlab的基本操作方法,了解鲍威尔法的原理与基本运用可编辑

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 工业自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号