Matlab中关于argmax、argmin函数的使用解读
作者:今天你发际线后移了嘛
这篇文章主要介绍了Matlab中关于argmax、argmin函数的使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
关于argmax、argmin函数的使用
1、在matlab的现有函数中,并没有argmax,argmin函数可以直接调用,要根据这两个函数的实际意义,自己编写程序进行计算
2、我要求解的函数是下式:
其中mad(theta)和amd(theta)两个均为1 * 11的double型向量
括号里得到一个1 * 11的向量
关于argmax函数的意思是: argmax(f(x))是使得 f(x)取得最大值所对应的变量x。也就是求出f(x)的最大值,返回使f(x)最大的自变量x。
因此我编了以下代码:
就是将函数结果以及自变量放在同一个矩阵,并上下一 一对照,求出函数结果的最大值,返回自变量。
aargmin函数原理和上述类似,在此不做赘述。
关于argmin和argmax的一点说明
定义
首先我们应该知道,arg是元素(变元)argument的英文缩写。
在数学中,arg max的参数是指使函数值最大化的某个函数域的点。与全局最大值相反,其指的是函数的最大输出 ,同理,arg min指的是使函数输出尽可能小的参数。
举例
比如对于:arg max/min f(x)
(1)当f(x) = -(x-3)^2,则有arg max f(x) = 3;
(2)当f(x) = (x-3)^2,则有arg min f(x) = 3;
(3)当f(x) = cos(x),则有arg min f(x) = {±π, ±3π, ±5π, …}
上式所表示的是使得似然函数取得最大值时θ的取值。
总结
arg max f(x) 就是使得f(x)取得最大值时变量的取值;
arg min f(x) 就是使得f(x)取得最小值时变量的取值;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。