matlab函数输出,优化求解器输出函数

嵌套输出函数的示例

创建和使用输出函数中的示例不需要输出函数在每次迭代后保留数据。如果不需要保存各次迭代之间的数据,可以将输出函数编写为函数文件,并从命令行直接调用优化函数。但是,要使输出函数在每次迭代后记录数据,请编写一个用于实现以下目的的文件:

以嵌套函数的形式包括输出函数 - 有关详细信息,请参阅 MATLAB 编程基础中的嵌套函数。

调用优化函数。

在以下示例中,函数文件还包含目标函数作为局部函数。您也可以将目标函数编写为单独的文件或匿名函数。

嵌套函数可以访问其所在的文件中的变量。因此,此方法使输出函数能够在每次迭代后保留变量。

以下示例使用输出函数记录以下求解中的 fminsearch 迭代:

minxf(x)=minxex1(4x12+2x22+x1x2+2x2).

输出函数以矩阵(称为 history)的形式返回点序列。

要运行此示例,请执行下列步骤:

使用 MATLAB 编辑器打开一个新文件。

将以下代码复制并粘贴到此文件。

function [x fval history] = myproblem(x0)

history = [];

options = optimset('OutputFcn', @myoutput);

[x fval] = fminsearch(@objfun, x0,options);

function stop = myoutput(x,optimvalues,state);

stop = false;

if isequal(state,'iter')

history = [history; x];

end

end

function z = objfun(x)

z = exp(x(1))*(4*x(1)^2+2*x(2)^2+x(1)*x(2)+2*x(2));

end

end

将文件作为 myproblem.m 保存到 MATLAB 路径上的某个文件夹中。

在 MATLAB 提示符下,输入

[x fval history] = myproblem([-1 1]);

函数 fminsearch 返回最佳点 x 及 x 处的目标函数值 fval。

x,fval

x =

0.1290 -0.5323

fval =

-0.5689

此外,输出函数 myoutput 向 MATLAB 工作区返回矩阵 history,该矩阵包含算法在每次迭代中生成的点。history 的前四行为

history(1:4,:)

ans =

-1.0000 1.0000

-1.0000 1.0000

-1.0750 0.9000

-1.0125 0.8500

history 最后一行的点与最佳点 x 相同。

history(end,:)

ans =

0.1290 -0.5323

objfun(history(end,:))

ans =

-0.5689

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇热帖的解剖

上回提到《结婚相册》的快速流传, 其实,不但是结婚相册, 有时候网络上出现一篇似是而非,似非而是的热帖,大家就纷纷转贴, 大家的朋友看了之后也热气上冲,继续转贴。。。 这篇博客 (http://blo…

php分区表,【MYSQL】分区表

对于MYSQL的态度一直都是会基本SQL和简单命令就行,最近处理一个数据量很大的项目,为了提高效率,在数据库方面的瓶颈上,选择了使用分区表来提高查询效率。至此和大家一起分享一下。 1.引言 本文初略的讲述了mysql数据库如何分区表。…

顶级程序员的心得 Coders at Work (I)

正在读 “Coders at Work”, 对15 位顶级程序员的采访, 总共600页。 从采访的模式看,有点像“艺术人生”, 一般都是音乐起,讲小时候的故事,你怎么开始写程序的? (Brad 同学 5 岁开始写) ; 不过后来并没…

顶级程序员的心得 Coders at Work (II)

正在读 “Coders at Work”, 对15 位顶级程序员的采访, 总共600页。 这些看似冗长的问答中有不少精辟的言论。 我摘录了一些关于挑选,面试程序员,优秀程序员的特点,和程序设计的句子。下面是 3 个程序员的心得,和我的…

matlab车辆测距,一种基于单目视觉的车辆测距方法

一种基于单目视觉的车辆测距方法【专利说明】一种基于单目视觉的车辆测距方法 所属技术领域[0001] 本发明属于目标检测与测距领域,尤其涉及一种基于单目视觉的车辆测距方法.【背景技术】[0002] 随着公路交通特别是高速公路系统的发展,交通事故率也呈现上…

顶级程序员的心得 Coders at Work (III)

这是第三部分&#xff08;第一&#xff0c;第二部分&#xff09;&#xff0c;非常有意思的问答&#xff0c;值得仔细琢磨。 这里只是一些和程序员发展&#xff0c;面试&#xff0c;优秀程序员的特点等相关的部分。 有些想法和 MSF 中的原则也很相似 &#xff08;见 <移山之…

html留言板 php,linux下使用Apache+php实现留言板功能的网站

一.首先我们的linux服务器上要安装Apache和phpphp的安装方法和Apache方法如同一辙二.关闭防火墙服务&#xff0c;关闭selinux请参考&#xff1a;http://www.cnblogs.com/dagege/p/5947251.html三.我们通过FTP服务或使用rz命令将文件放到Apache的根目录下 /var/www/html示例文件…

顶级程序员的心得 Coders at Work (IV)

( 第一&#xff0c;第二&#xff0c; 第三部分 ) “Coders at Work”, 对15 位顶级程序员的采访&#xff0c; 总共600页。 看似冗长的问答中有不少精辟的言论。 我摘录了一些关于挑选&#xff0c;面试程序员&#xff0c;优秀程序员的特点&#xff0c;和程序设计的句子。下面…

多个php 链接数据库,ThinkPHP实现多数据库连接的解决方法

1.ThinkPHP实现连接多个数据的时候&#xff0c;如果数据库在同一个服务器里的话只需要这样定义模型&#xff1a;Model:namespace Shebao\Model;use Common\Model\CommonModel;class CeshiModel extends CommonModel{protected $trueTableName shebao.sb_person; //数据库名.表…

编程之美 - 哪个题目最美?

编辑部搞的活动&#xff0c; 请大家帮个忙&#xff0c;来投票吧&#xff0c;看看《编程之美》第1章“游戏之乐——游戏中碰到的题目”大家最喜欢哪个题目&#xff0c;或者大家认为哪个题目最有趣。         可以选择以下任何网址参与投票&#xff1a;   CSDN&#xff1…

php实现把es6转为es5,使用webpack将ES6转化ES5的实现方法

babel使用打开babel官网&#xff0c;按教程安装babel安装npm install --save-dev babel-loader babel/core babel/preset-env配置rulesmodule: {rules: [{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }]}生成 .babelrc文件{"presets"…

BUAA - 各项目组对软件用户数的估计

项目组: 底限 - 高限 CodeHolic: 200 – 1000 Code Canvas: 30 – 200 Stone: 50 – 200 Bugzapper: 100 - 1,000 CodeAngel: 200 – 800 Dream: 500 – 800 Xirtam: 1 – 100 Terminator: 100 – 300

THU – team project final review score

FOCUS Lifer: 24.14 Quadriad: 13 Transformer5: 16.71 LunaR: 24.57 Dragon: 17.86 (full score is 30pts, from 7 judges)

ssl在线申请php源码,简易实现HTTPS之自动实现ssl

众所周知 HTTP 协议是一种不安全的协议&#xff0c; 而 HTTPS 协议是 HTTP over SSL/TLS 的缩写&#xff0c;表示“使用 SSL/TLS 的 HTTP &#xff0c;也就是通常所说的“超文本传输安全协议”。 HTTP 搭配 SSL/TLS 协议可以搭建加密传输、身份认证的网络协议。没有升级到 HTTP…

BUAA - Team Review Score

Team Review Score1 19.002 22.573 19.864 17.005 26.146 21.437 17.438 20.29

php怎么上传函数,php上传函数怎么封装

php上传函数怎么封装&#xff1f;<?php //上传文件调用 $file $_FILES[image]; //允许上传的类型 $allow array(image/jpeg, image/png, image/jpg, image/gif); $path ./uploads; $maxsize 1024 * 1024 * 3; $result upload($file, $allow, $error, $path, $maxsize)…

THU: 成绩录入系统的bug

各位老师&#xff0c;您好&#xff01; 本学期课程网上录入成绩的时间马上就要截止&#xff0c;请注意&#xff01; 1、 录入成绩系统开通时间&#xff1a;2010年1月8日&#xff08;周五&#xff09;8&#xff1a;30 &#xff5e; 1月27日&#xff08;周三&#xff09;16&…

php-frm进程管理,PHP内核探索-进程管理

进程管理方式首先我们了解一下php的三种不同的进程管理方式&#xff1a;static&#xff1a;静态管理进程。在启动时&#xff0c;master按照pm.max_children配置fork出对应数量的work进程&#xff0c;即work的进程是固定不变的。dynamic&#xff1a;动态管理进程。在fpm启动时先…

THU – team players 合作精神

我朝的教育体系虽然时不时灌输“互相帮助”的精神&#xff0c;但是所有小考&#xff0c;中考&#xff0c;大考&#xff0c;无一不是考察个人独立作战。你要互相帮助&#xff0c;不但违反考场纪律&#xff0c;而且其他同学的好成绩对你是一个直接的威胁。 在这种价值体系下产出的…

PKU 学生的反馈 2009-1

反馈1: 软件实现技术课程总结 (1) 本学期的《软件实现技术》课程顺利结束了。作为选择这门课的学生&#xff0c;我在这里对这门课做一个回顾&#xff0c;并总结一下我对这门课的一些感受。 《软件实现技术》这门课是微软和北大软件与微电子学院合作的一门课程&#xff0c;课…