资源简介
用matlab编程实现最优控制理论的共轭梯度法。程序运行无误。
代码片段和文件信息
format long;
k=0;
ex=2;
X0=[2;2]%设定x初值为(22)
while k<2000
syms x1 x2 rr
%f=100*(x2-x1^2)^2+(1-x1)^2
f=x1^2+2*x2^2-4*x1-2*x1*x2
%f=(x1-1)^4+x2^2
%f=2*x1^2+x2^2-4*x1+2
df(11)=diff(fx1) %取函数的梯度(df(11)df(21))
df(21)=diff(fx2)
xx=gradient(X0df) %将求得的梯度向量值存入xx中
ex=sqrt(xx(11)^2+xx(21)^2) %求得梯度下降模值存入变量ex
x1=X0(11)
x2=X0(21)
eval(f)
if ex<1e-4
disp(‘x*=‘)
disp(X0)
disp(‘函数最优解为:f=‘)
disp(eval(f))
break;
end
x1=X0(11)-rr*xx(11) %将x1x2变为一维搜索极小点变量rr的函数
x2=X0(21)-rr*xx(21)
flamda=eval(f) %求得rr的函数,便于进行一维搜索
rr=partition(flamda) %用黄金分割法求得精确以为搜索的rr值
x1
x2
X0(11)=eval(x1) %重新给变量x1x2赋值,以便进行下一次循环;
X0(21)=eval(x2)
k=k+1
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 853 2010-12-27 22:44 梯度法\fastspeed.m
文件 121 2010-12-27 22:43 梯度法\gradient.m
文件 914 2010-12-27 23:00 梯度法\partition.m
文件 2004 2010-12-27 23:26 梯度法\最速下降.txt
目录 0 2011-06-12 13:45 梯度法
----------- --------- ---------- ----- ----
3892 5
- 上一篇:matlab实现共轭梯度法
- 下一篇:MATLAB 动画生成gif图片
相关资源
- MATLAB 动画生成gif图片
- matlab实现共轭梯度法
- 短路支节匹配Matlab实现
- MATLAB处理医学图像
- 自适应粒子群算法
- 模糊合成运算的matlab程序
- matlab 高斯牛顿迭代求最小二乘问题
- 直方图均衡化代码matlab
- 加权无标度网络边权演化bbv模型的m
- MATLAB禁忌搜索算法求解TSP问题
- 改进欧拉法matlab程序
- MATLAB图形与动画制作源程序集200经典
- Mackay构造LDPC码程序 matlab
- 基于dct的图像压缩解压缩
- 室内定位三种经典算法Fang、Taylor、
- EasyKrig 3.0.1 兼容Matlab2012a
- 非线性最小二乘优化问题matlab工具箱
- FDTD算法的Matlab源程序
- 图像PSNR及其计算matlab实现
- 模式识别的几个经典分类器,附matl
- matlab牛拉法潮流计算程序
- 单点定位MATLAB程序源码
- matlab数字增量式pid简单程序
- 机械臂轨迹规划
- 用于对比试验的局部放大图中图matl
- F5隐写算法matab源代码
- 太阳能光伏发电系统MATLAB建模
- MATLAB实现图像找茬程序
- 虹膜识别 Matlab
- 用matlab实现去除图像噪声
评论
共有 条评论