[Matlab科学计算] 共轭梯度法求一般函数的最小值
代码如下:
function [x,val,k]=frcg
%功能: 用FR共轭梯度法求解无约束问题: min f(x)
%x0是初始点, fun, gfun分别是目标函数和梯度
%输出: x, val分别是近似最优点和最优值, k是迭代次数.
x0 =[2 2]';
maxk=5000; %最大迭代次数
rho=0.6;sigma=0.4;
k=0; epsilon=1e-4;
n=length(x0);
while(k<maxk)g=feval('gfun',x0); %计算梯度itern=k-(n+1)*floor(k/(n+1));itern=itern+1;%计算搜索方向if(itern==1) d=-g; elsebeta=(g'*g)/(g0'*g0);d=-g+beta*d0; gd=g'*d;if(gd>=0.0)d=-g; endendif(norm(g)<epsilon), break; end %检验终止条件m=0; mk=0;while(m<20) %Armijo搜索if(feval('fun',x0+rho^m*d)<feval('fun',x0)+sigma*rho^m*g'*d)mk=m; break;endm=m+1;endx0=x0+rho^mk*d;val=feval('fun',x0);g0=g; d0=d; k=k+1;
end
x=x0;
val=feval('fun',x);function f=fun(x)
f=(x(1)-1)^2+(x(1)+x(2)+3)^2;function gf=gfun(x)
gf=[2*(2*x(1)+x(2)+2), 2*(x(1)+x(2)+3)]';
使用说明:
1.根据计算函数修改fun(x)和gfun(x)函数表达式;
2.更改初始点x0的取值。
[Matlab科学计算] 共轭梯度法求一般函数的最小值相关推荐
- MATLAB科学计算机lnx代码,[2018年最新整理]Matlab科学计算.ppt
[2018年最新整理]Matlab科学计算 Matlab与科学计算 计算机学院 刘咏梅 Email:liuyongmei@hrbeu.edu.cn 第二章 MATLAB数值计算基础 Introduct ...
- matlab gausspdf,《精通MATLAB科学计算》(王正林 编著).pdf
<精通MATLAB科学计算>(王正林编著).pdf<精通MATLAB科学计算>(王正林编著).pdf [General Information] 书名=精通MATLAB科学计算 ...
- matlab科学计算的应用,精通MATLAB科学计算与数据统计应用 高清版pdf[12MB]
在各行各业的工程实践中,有大量的科学计算工作需要完成.传统的计算方式一般需要较长的周期,相比之下开发效率极高的MATLAB是一个更好的选择.在MATLAB中,编程细节被简化,繁琐的实现过程也被略去,用 ...
- matlab科学计算软件,数据分析软件 Matlab 科学计算软件 科软网——专业正版软件供应商...
创建二维图形并自定义线条 向图形添加标题.坐标轴标签和图例 合并多个绘图 指定坐标轴范围 创建包含双 y 轴的图. 以交互方式添加文本到图形 二维图和三维图绘制连续.离散.曲面以及三维体数据图 格式和 ...
- matlab 计算图像质量因数,matlab科学计算-中国大学mooc-试题题目及答案
matlab科学计算-中国大学mooc-试题题目及答案 更多相关问题 换算因数表示被测物质的摩尔质量与称量形式的摩尔质量的比值,且物质的被测元素在分子,分母中原子 滴定管读数最后一位不一致是系统误差. ...
- python多元函数求极小值_使用遗传算法求二元函数的最小值
二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...
- python多元函数求解_使用遗传算法求二元函数的最小值
二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...
- 遗传算法求二元函数极值怎么编码_使用遗传算法求二元函数的最小值
二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...
- matlab科学计算 书,MATLAB与科学计算(第3版)
<MATLAB与科学计算(第3版)> 第1章 安装及使用前的准备1 1.1 MATLAB简介1 1.1.1 21世纪的科学计算语言1 1.1.2 MATLAB的发展历史3 1.1.3 MA ...
最新文章
- java操作跨页的word cell,“excle如何打印不出现断行“EXCEL中,如何不跨页断行打印或显示,谢谢...
- 《Java 8 实战》(二)—— Lambda
- 初探AngularJS6.x---目录结构说明
- 不叫K50 Pro+!Redmi K50系列超大杯或有新名称
- hdu -1251 统计难题(字典树水题)
- 动网论坛帖子跟帖展开/关闭测试
- matplotlib实现数据的可视化
- APPSCAN学习目录
- 考研政治(二):马克思主义基本原理
- 直播最佳推流参数推荐
- Hypervisor小记
- Shell脚本——Shell编程规范及变量
- Keil_uvision_4基本使用教程
- 高德地图定位及导航开发流程
- @Cacheable失效
- 字体压缩神器font-spider的使用
- C语言--斐波那契数列(三种方法)
- Linux网络配置后无法正常上网
- 超越光速:时间旅行不是梦
- express 解析post请求的数据格式
热门文章
- 情感分析实战(中文)-共现语义篇
- 日期格式小练笔“2012-3-17“到“2012-4-6“ 中间有多少天?
- 占地2000亩!这所985高校国际校区开建
- JS伪3D 图形透视效果
- 新闻联播换主持人了!
- 消防无线图像传输系统解决方案
- linux下r232转usb驱动,R232转usb驱动
- Jpush之如何利用HttpClient实现消息推送到手机
- 微信小程序的考勤管理Demo,包括前后端及数据库等内容
- 分频器设计(三)小数分频