最速下降法--MATLAB程序


function x = fxsteep(f,e,a,b)
x1 = a;
x2 = b;
Q = fxhesson(f,x1,x2);
x0 = [x1,x2]';
temp = [x0];
fx1 = diff(f,'x1');
fx2 = diff(f,'x2');
g = [fx1,fx2]';
g1 = subs(g);
d = - g1;
while (abs(norm(g1))> e)
lamda = (-d)'*d/((-d)'*Q*d);
x0 = x0 - lamda *g1;
temp = [temp;x0];
a = [1,0] * x0;
b = [0,1] * x0;
x1 = a;
x2 = b;
g1 = subs(g);
d = - g1;
end
x = temp;
end
function Q = fxhesson(f,a,b)
x1 = a;
x2 = b;
fx1 = diff(f,1,'x1');
fx2 = diff(f,1,'x2');
fx1x1 = diff(fx1,1,'x1');
fx1x2 = diff(fx1,1,'x2');
fx2x2 = diff(fx2,1,'x2');
fx2x1 = diff(fx2,1,'x1');
fx1x1 = subs(fx1x1);
fx1x2 = subs(fx1x2);
fx2x1 = subs(fx2x1);
fx2x2 = subs(fx2x2);
Q = [fx1x1,fx1x2;fx2x1,fx2x2];
end
syms x1 x2;
X=[x1,x2];
fx=X(1)^2+4*X(2)^2;
z=fxsteep(fx,0.0001,1,1)
ans
1
1
48/65
-3/65
36/325
36/325
1728/21125
-108/21125
1296/105625
1296/105625
62208/6865625
-3888/6865625
46656/34328125
46656/34328125
2239488/2231328125
-139968/2231328125
1679616/11156640625
1679616/11156640625
80621568/725181640625
-5038848/725181640625
60466176/3625908203125
60466176/3625908203125
2902376448/235684033203125
-181398528/235684033203125
最速下降法--MATLAB程序的更多相关文章
- [zz]求一维序列的信息熵(香浓熵)的matlab程序实例
对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵. 但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的, ...
- 条件随机场matlab程序下载
19:44:23 1 http://www.cs.ubc.ca/~murphyk/Software/CRF/crf.html matlab程序包: 该条件随机场程序(CRF)是针对语句进行标注,mat ...
- 【matlab】MATLAB程序调试方法和过程
3.8 MATLAB程序的调试和优化 在MATLAB的程序调试过程中,不仅要求程序能够满足设计者的设计需求,而且还要求程序调试能够优化程序的性能,这样使得程序调试有时比程序设计更为复杂.MATLAB ...
- C/C++程序通过动态链接库调用MATLAB程序
C/C++程序通过动态链接库调用MATLAB程序 1 MATLAB编译器设置 需要设定对应的C++编译器才能编译.m文件生成可供C++调用的库文件. 在MATLAB命令行输入:mex –setup:然 ...
- 非均匀B样条拟合MATLAB程序
直接上代码,多的不再说了. %------------------非均匀B样条拟合MATLAB程序----------------- clear k=; x=load('data.txt'); [n, ...
- 蚁群算法 matlab程序(已执行)
下面是解放军信息project大学一个老师编的matlab程序,请尊重原作者劳动,引用时请注明出处. 我经过改动添加了凝视,已经执行过,无误, function [R_best,L_best,L_av ...
- 现代控制理论习题解答与Matlab程序示例
现代控制理论习题解答与Matlab程序示例 现代控制理论 第三版 课后习题参考解答: http://download.csdn.net/detail/zhangrelay/9544934 下面给出部分 ...
- MATLAB程序:用FCM分割脑图像
MATLAB程序:用FCM分割脑图像 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 脑图像基础知识请看:脑图像:FCM算法介绍请看:聚类——FCM:数据 ...
- GMM算法的matlab程序
GMM算法的matlab程序 在“GMM算法的matlab程序(初步)”这篇文章中已经用matlab程序对iris数据库进行简单的实现,下面的程序最终的目的是求准确度. 作者:凯鲁嘎吉 - 博客园 h ...
随机推荐
- jQuery 根据value设置radio默认选中
jQuery 根据value设置radio默认选中:HTML: <input type="radio" name="type" value="1 ...
- Java基础教程——封装
面向对象的三大特征 封装:encapsulation 继承:inheritance 多态:polymorphism 封装 类是一个最基本的封装 封装的好处: 数据安全:保证数据安全 方便调用:提供清晰 ...
- golang实现mysql udf
UDF(user-defined function) 当mysql提供的内置函数(count,min,max等)无法满足需求时,udf用于扩展自定义函数,满足特定查询需求. 在这里,假定一种db应用场 ...
- 【线程池】自己声明临时线程池一定要shutdown!
场景: 某个定时任务需要多线程执行,执行时间较久且每天只跑一次,想单独拉出一个线程池和其他业务隔离开,交给spring会导致核心线程一直存在 浪费线程资源,因此想单独拉一个池子用完就丢,原本想的是,在 ...
- Python机器学习笔记:异常点检测算法——LOF(Local Outiler Factor)
完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需 ...
- win10拔下电源会黑一下屏
- Fiddler 4 断点调试(修改request请求参数)
1.选中要测试的链接 2然后点击规则的Automatic Breakpoints 的Before Requests 3.重新发送请求找到测试的点链接 最终效果如下
- 老猿Python重难点知识博文汇总
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 除了相关教程外,老猿在学习过程中还写了大量的学习随笔,内容比较杂,文章内容也参差不齐,为了方便,老猿 ...
- Hbase API 多条件查询
public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...
- Android基础02
初识安卓的另一个重要的组件---广播. 1.广播的分类 标准广播:是一种完全异步执行的广播,在广播发出之后,所有的广播 接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言.这 ...