蚁群算法+LEACH 点滴(二)最值求解

具体的求最值方法就转载了:http://www.zdh1909.com/html/matlab/17837.html

matlab中的的最大值和最小值

MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。
1.求向量的最大值和最小值
求一个向量X的最大值的函数有两种调用格式,分别是:
(1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。

(2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。
求向量X的最小值的函数是min(X),用法和max(X)完全相同。
例3-1  求向量x的最大值。
命令如下:
x=[-43,72,9,16,23,47];
y=max(x)              %求向量x中的最大值
[y,l]=max(x)         %求向量x中的最大值及其该元素的位置
2.求矩阵的最大值和最小值
求矩阵A的最大值的函数有3种调用格式,分别是:
(1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
(2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。
(3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
求最小值的函数是min,其用法和max完全相同。
例3-2  分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。
3.两个向量或矩阵对应元素的比较
函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为:
(1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。
(2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。
min函数的用法和max完全相同。
例3-3  求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。

想说的是在求解中,以求最小值为例。

通过min查找返回的是第一个最小值得大小与位置,上例子:

clc;
clear all;
B=[ 2 1 3 2 5 6 1];
[K,L] = min(B)

结果:

K =

     1

L =

     2

可以看出只返回了第一个最小值,为1,在index为2,。

在看看用find后:

clc;
clear all;
B=[ 2 1 3 2 5 6 1];
 [K,L] = find(B == min(B))

结果:

K =

     1     1

L =

     2     7

可以看出find是返回了所有的最小值,以及相应的索引号。

通过比较可以很好的看出相关的区别,本人感觉用find函数比较保险,直接用min等简单,也可胜任。

    原文作者:蚁群算法
    原文地址: https://blog.csdn.net/hu1583141033/article/details/8862274
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞