我刚学习
自己写了一个程序
a=input('输入一个4*5矩阵');
max=a(1,1);
for i=1:4
for j=1:5
if a(i,j)>max
max=a(i,j);
maxi=i;maxj=j;
end
end
end
max
maxi
maxj
运行失败
请高手解释下
MATLAB求最大值直接调用求最值的函数 max 函数就好了。例如矩阵为 A ,那么求最值即为 max_A = max( max(A) ) , [m,n] = find( max_A == A )
程序中出错的原因可能是因为第一行结束的分号是中文分号,换成非英文分号就好。
MATLAB 中的 max 函数是求最大值的函数。
1、如果 A 是向量,则 max(A) 返回 A 的最大值。
2、如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。
3、如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。
这也是求矩阵的最大值需要使用两个 max 函数的原因。使用 find 函数可以找到矩阵中等于最大值的位置。
max函数的其他用法:
1、M = max(A,[],dim) 沿着维度 dim 返回最大元素。例如,如果 A 为矩阵,则 max(A,[],2) 是包含每一行的最大值的列向量。
2、M = max(A,[],nanflag) 指定在计算中包括还是忽略 NaN 值。例如,max(A,[],'includenan') 包括 A 中的所有 NaN 值,而 max(A,[],'omitnan') 忽略这些值。可以指定使用 nanflag 选项时的运算维度。
3、[M,I] =max(___) 使用先前语法中的任何输入参数,查找 A 的最大值的索引,并在输出向量 I 中返回这些索引。如果最大值出现多次,则 max 返回对应于第一次出现位置的索引。
4、C = max(A,B) 返回从 A 或 B 中提取的最大元素的数组。
输入该行后面的分号是错误的。它不应该是中文的。英语角应该是一半。或者简单地删除分号。
运行结果是:a =
1 2 3 4 5
2 3 4 5 6
1 4 3 3 2
1 3 5 7 3
max =7
maxi =4
maxj =4
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
本回答被网友采纳a=floor(1+9*rand(4,5))
max=a(1,1);
maxi=1;
maxj=1;
for i=1:4
for j=1:5
if a(i,j)>max
max=a(i,j);
maxi=i;
maxj=j;
end
end
end
max
maxi
maxj
注:你的问题错在第一句后多了一个中文的。
matlab中Max的用法
一、求矩阵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完全相同。
二、 Matlab中max函数在矩阵中求函数大小的实例如下:
C = max(A)
1、返回一个数组各不同维中的最大元素。
2、如果A是一个向量,max(A)返回A中的最大元素。
3、如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一行向量包含了每一列的最大元素。
4、如果A是多维数组,max(A)treats the values along the first non-singleton dimension as vectors, returningthe maximum value of each vector.
本回答被网友采纳可以利用max函数求出最大值及其所在的位置,具体实现可参考如下代码:
有一个4*5矩阵,用MATLAB编程求出其最大值及其所在的位置
MATLAB求最大值直接调用求最值的函数 max 函数就好了。例如矩阵为 A ,那么求最值即为 max_A = max( max(A) ) , [m,n] = find( max_A == A )程序中出错的原因可能是因为第一行结束的分号是中文分号,换成非英文分号就好。MATLAB 中的 max 函数是求最大值的函数。1、如果 A 是向量...
...求最小值,共5^4=625个最小值,如何用matlab编程序?
A=input('A=') %输入矩阵A [B,n]=min(A') %B为存放A最小值的向量,n存放最小值所在的位置 sum(B) %对B中向量进行求和
使用matlab编程:有一个4行5列的矩阵,编程求出其最大值以及最大值所处...
举个例子,希望有所帮助。代码% 有一个4行5列的矩阵,编程求出其最大值以及最大值所处位置 clc; clear all;A = rand(4, 5);m = A(1); ind = [1 1];for i = 1 : size(A, 1)for j = 1 : size(A, 2)if m < A(i, j)m = A(i, j);ind = [i j];end end end...
怎样用matlab编程求矩阵中某个数最大值和所在位置
最简单的方法就是用max()函数,分别对列和行求最大值,同时返回最大的位置,即可得到矩阵中最大的元素值和位置。
MATLAB问题~~·急~~!!! 会的 可以补加分数
用max函数啊 max=ans(1,1);for i=1:4 for j=1:5 if ans(i,j)>max re=ans(i,j);maxi=i;maxj=j end;end;end;其中ans是你的4*5的矩阵 输出的re是最大值 maxi是最大值的行号 maxj是最大值的列号 小兄弟你看可以不?
如何利用matlab求一个矩阵里面的最大值和位置?
找最大元素就是max(max(A)),注意二维矩阵要写两个max\\x0d\\x0a找对应位置用find函数\\x0d\\x0a例如:\\x0d\\x0aA=[5 6 8 7 5\\x0d\\x0a 1 3 4 9 8\\x0d\\x0a 5 7 9 1.2 8.8\\x0d\\x0a 9.8 9.4 8.5 1.3 5.4]\\x0d\\x0aa=max(max(A))\\x0d\\x0a...
在matlab中如何确定向量中元素的最大值,并输出其序号
求向量中最大值元素及其序号的简单代码为: [m,i] = max(A)。其中A是行\/列向量,m是最大值,i是最大值元素的索引即序号。注意:如果A中存在多个并列的最大值,上面的代码只会得到第一个最大元素的位置。因此,通用的写法如下:i = find(A==max(A))如果拓展到二维矩阵,写法也类似:[i,j...
matlab中求一个矩阵的最大值及位置用哪个函数?
找最大元素就是max(max(A)),找对应位置用find函数 。举个例子:>> A=[1 2 3 ;4 5 6]A = 1 2 3 4 5 6 >> max(max(A))ans = 6 >> [x y]=find(A==max(max(A)))x = 2 y = 3 >> 找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列。
Matlab求解数组中的最大值以及它所在的位置
一维数组 在Matlab随机生成一维数组或者手动输入 利用Max函数,将一维数据放入Max(一维数组)中 最终利用Max函数输出最大值和位置 二维数组 在Matlab随机生成或者手动输入二维数组 利用Max函数来求解最大值,但是因为是二维数组,所以需要使用两次Max函数 利用find函数来寻找最大值在二维矩阵中位置 最后,输出...
matlab中矩阵怎么找出最大的数
可以参考下面的代码:>> A=[1 2 3 ;4 5 6]A = 1 2 3 4 5 6 >> max(max(A))ans = 6 >> [x y]=find(A==max(max(A)))x = 2 y = 3 >> 找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列