matlab中max函数

作者&投稿:勾常 (若有异议请与网页底部的电邮联系)
matlab中max函数的结果是什么?~

  matlab中的 MAX函数的几种形式
  (1)max(a)
  (2)max(a,b)
  (3)max(a,[],dim)
  (4)[C,I]=max(a)
  (5)[C,I]=max(a,[],dim)
  max函数的结果
  (1)max(a)
  如果 a 是一个矩阵,比如 a=[1,2,3;4,5,6],max(a)的意思就是找出矩阵每列的最大值, 本例中:max(a)=[4,5,6]
  (2)max(a,b)
  如果 a 和 b 都是大于 1 维的矩阵,那么要求 a 和 b 的行列的维数都要相等,函数的结 果是比较 a 和 b 中每个元素的大小,比如: a=[1,2,3;4,5,6] b=[4,5,6;7,8,3] max(a,b)=[4,5,6;7,8,6] 另外,如果 a 和 b 中至少有一个是常数,也是可以的。比如: a=[1,2,3;4,5,6] b=3 c=5 max(a,b)=[3,3,3;4,5,6] a=[1,2,3 4,5,6] max(a,b)的意思是 b 与矩阵 a 中的每一个数进行比较,比 3 小的结果变为 3 如 X = [2 8 4; 7 3 9]; Max(X,5)=[5,8,5;7,5,9] 相信大家看了例子都明白了函数的意思了吧 max(b,c)=5
  (3)max(a,[],dim)
  这个函数的意思是针对于 2 维矩阵的, 是英文字母 dimension 的缩写, dim 意思是维数。 当 dim=1 时,比较的 a 矩阵的列,也就是和 max(a)的效果是一样的;当 dim2 时,比较的 是 a 矩阵的行。下面举个例子: a=[1,2,3;4,5,6] max(a)=max(a,[],1)=[4,5,6] 比较的第一行和第二行的值 max(a,[],2)=[3,6]

[Y,I]=max(M,[],2), 在第2维方向上取最大值,也就是每行最大值,结果存在Y里,I里存的是每行最大值的列位置。

>> M=magic(3)

M =

8 1 6
3 5 7
4 9 2

>> [Y,I]=max(M,[],2)

Y =

8
7
9


I =

1
3
2

Matlab中max函数在矩阵中求函数大小的结果如下:


(1)C = max(A),返回一个数组各不同维中的最大元素。如果A是一个向量,max(A)返回A中的最大元素。如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。

如果A是多维数组,max(A) treats the values along the first non-singleton dimension as vectors, returning the maximum value of each vector.



(2)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。

(3)max(A,[],dim):返回A中有dim指定的维数范围中的最大值。dim取1或2。dim取1时,[Y,I]=max(M,[],1), 在第1维方向上取最大值,也就是每列最大值,结果存在Y里,I里存的是每列最大值的行位置。该函数和max(A)完全相同;

dim取2时,[Y,I]=max(M,[],2), 在第2维方向上取最大值,也就是每行最大值,结果存在Y里,I里存的是每行最大值的列位置。
该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。求最小值的函数是min,其用法和max完全相同。


拓展资料

1、MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLMATLAB和Mathematica、Maple并称为三大数学软件。

2、它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。AB和Simulink两大部分。



按照你的意思,A中的元素应该互不相同,不然找出来的元素个数会大于n值。

函数:
function B=E_max(A,n)
B=zeros(256,256);
R=reshape(A,1,256*256);
R=sort(R,'descend');
for i=1:n
[x,y]=find(A==R(i));
B(x,y)=R(i);
end

主程序:
>> A=rand(256,256);
>> tic;
>> B=E_max(A,300);
>> t=toc

t =

21.3786

调试好之找后我才发的啊,你要先保存函数,再在主程序中调用。

function B=function_name(A, n)

nA=numel(A); %A元素个数
if (n>nA || n<=0)
error('输入的n有误');
end

B=A;
[sortA,ind]=sort(A(:)); %排序,这里要将A转成列向量才可以
B(ind((nA-n+1):end))=0; %最后的n个

分太少!

matlab中max([A B])求的是什么?其中A和B为矩阵
答:max([A B])求得的结果是每一列的最大值组成的行向量

matlab中有什么命令可以直接取出矩阵中的最大值元素
答:1、打开matlab,在命令行窗口中输入a=[123524;267814;161921],创建一个3行3列的a矩阵,如下图所示:2、输入max(max(a)),求a矩阵的最大值,如下图所示:3、按回车键之后,可以看到a矩阵的最大值为78,如下图所示:4、输入min(min(a)),求a矩阵的最小值,如下图所示:5、按回车键之后,...

matlab 中max(x,[],dim)理解
答:[]是为了区别max(x,y)和max(x,[],dim),表示这是两种调用方式。dim表示维数。如果x是一个矩阵的话,dim取1表示找这个矩阵中各列的最大值,dim取2表示找这个矩阵中各行的最大值。

...要求分别用循环结构和调用MATLAB的max函数、min函数来实现。_百度...
答:用循环语句 把20个数组成数组A,执行下面的程序,可以直接得到最大和最小值。A=[1 2 3 4 5 6 7 23 32 12 53 1 23 53 5 235 31 5131 332 3 21];max=A(1);min=A(1);for i=1:20;mid=A(i);if mid>max;max=mid;end if mid<min;min=mid;end end max min (2)max函数的...

用Matlab写一个函数mmax,求出变量a,b中的最大值,保存为一个文件mmax.m...
答:1、根据题意,绘制流程图(大概的)产生随机数a和b━━比较a和b的大小━━判断━━①如a>b,则a赋值于result,并输出;②如b>a,则b赋值于result,并输出;③如a=b,则显示a、b相等 2、建立随机函数生成a和b的文件,myu.m 其内容 clc,clear all a=rand*10 b=rand*10 result=mmax(a,...

如何用mantlab找到数组中的最第一个数
答:是否是用Matlab中找到数组中的最大一个数?假设给定数组是A A=[1,2,3,5,3,9,2];max=A(1);for i=1:1:length(A)if(A(i)>=max)max=A(i);end end print max;也可以用Matlab函数max来实现:max(A)即可 对于多维数组,可以用max(A(:,j))或者max(A(i,:))找出第j列的最大值或者...

...要求分别用循环结构和调用MATLAB的max函数、min函数来实现。_百度...
答:min1=min(a) %用max函数求最大值 以下用循环方法求解:max2=a(1);min2=a(1);for i=2:20 if a(i)>max2 max2=a(i);end if a(i)<min2 min2=a(i);end end max2 min2 2.(1)function t=fibonacc1 f=[1,1];n=2;while 1 f=[f,f(n-1)+f(n)];n=length(f);if ...

max(a
答:这里max是判断a向量是否大于b向量,判断方法如下举例说明:1.如果a=[1 7],b=[2 3]因为1<2,所以返回1=>true 2.如果a=[2 7],b=[2 3]因为a(1)=b(1),而a(2)=7>b(2)=3,所以返回0=>false

Matlab 编写函数,找出 n个数中的最大值和最小值及其所在位置
答:clc clear A=[4 8 3 9 7 1 6 5 2]; min=min(A); max=max(A); %m为所在行 n为所在列 [m1,n1]=find(A==min); [m2,n2]=find(A==max); === 附赠: 在MATLAB中输入符号向量或者矩阵的...

matlab Max函数编程问题
答:根据max函数的帮助文档:可见,中间加一个[](表示空矩阵)是为了区分第二种和第四种用法。没有更深刻的含义了。