MATLAB中求解向量或者矩阵的最值

在MATLAB中我们经常需要对于向量或者矩阵求解最值。本篇文章主要讲解的是在MATLAB中求解向量或者是矩阵的最值问题。

1.求解向量的最大值和最小值

在MATLAB中想要对于求解数据的最大值和最小值的函数是max和min函数,这两个函数在用法上基本相同。

如何求解一个向量的最值的函数有两种形式:

(1)Y=max(X)和Y=max(X)

这种调用方式是求解向量X中的最大值和最小值,并且将该值赋值给向量Y。如果X中有复数的话,那么该复数元素会取其模长进行比较。

例如我们举下面这个例子:

X=[23,34,15,36,34,19,32,97,8,41];
Y1=max(X)
Y2=min(X)

结果显示为:

Y1 =
    97
Y2 =
     8

通过上面公式的结果可以看出,使用该方式可以直接将最值赋值给想要的变量上面。

(2)[Y,N]=max(X)和[Y,N]=min(X)

这种调用方式是将向量中的X的最值赋值该y,并且将该最值所在的序号赋值给N。

我们使用这种方式对于上述向量进行求最值:

X=[23,34,15,36,34,19,32,97,8,41];
[Y1,N1]=max(X)
[Y2,N2]=min(X)

结果如下所示:

Y1 =
    97
N1 =
     8
Y2 =
     8
N2 =
     9

2.求解矩阵的最大值和最小值

(1)max(A)和min(A)

这种矩阵调用方式所得到的结果是一个行向量,该行向量中第i个元素所代表的是矩阵中第i列最大的值。

例如:

X=[2,3,5,8;4,9,12,5;7,8,11,14;6,7,9,2];
Y=max(X)

结果如下所示:

Y =
     7     9    12    14

如果矩阵中含有复数的话,那么会取其模长进行比较,如果该列中最大值为该复数的模长的话,那么整个矩阵返回的行向量的所有元素均会以复数的形式显示。例如:

X=[2,3+7i,5,8;4,9,12+4i,5;7,8+9i,11+10i,14;6,7,9,2];
Y=max(X)

运行结果如下所示:

Y =
   7.0000 + 0.0000i   8.0000 + 9.0000i  11.0000 +10.0000i  14.0000 + 0.0000i

(2)[Y,N]=max(X)或者[Y,N]=min(X)

返回行向量Y和N,Y向量记录X的每列的最值,N向量表示的是每列最大值的行数。

X=[2,3,5,8;4,9,12,5;7,8,11,14;6,7,9,2];
[Y,N]=max(X)

运行结果如下所示:

Y =
     7     9    12    14
N =
     3     2     2     3

(3)max(X,[],dim)和min(X,[],dim)

上式中dim的值可以取1或者2,如果dim为1的时候,该函数和max(A)是相同的;当dim为2的时候,那么结果返回的是一个列向量,其中第i个元素是矩阵的最大值。

例如当dim的值取1的时候:

X=[2,3,5,8;4,9,12,5;7,8,11,14;6,7,9,2];
[Y,N]=max(X,[],1)

运行结果如下所示:

Y =
     7     9    12    14
N =
     3     2     2     3

当dim的值为2时:

X=[2,3,5,8;4,9,12,5;7,8,11,14;6,7,9,2];
[Y,N]=max(X,[],2)

结果如下所示:

Y =
     8
    12
    14
     9
N =
     4
     3
     4
     3

3.示例

下面举一个简单的例子,例如计算班级考生成绩的最高分和最低分。例如:

 例如,我们计算所有成绩的最大值的代码如下所示:

X=xlsread('成绩.xlsx','sheet1','B2:B35');
Y=max(X)

结果如下所示:

Y =
    98

通过结果我们可以看到,使用max()函数可以比较轻松地直接求解最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每月一号准时摆烂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值