1樓:匿名使用者
假設復你的那個矩制
陣叫vector
newvector=vector(vector~=max(vector));
如果不需
要保留原來的矩陣,可以這樣
vector(vector==max(vector))=;
2樓:匿名使用者
把資料發上來,好幫你做。
有乙個4*5矩陣,用matlab程式設計求出其最大值及其所在的位置
3樓:世界的偏角
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 函式可以找到矩陣中等於最大值的位置。
4樓:僅僅是追憶
輸入該行後面的分號
是錯誤的。它不應該是中文的。英語角應該是一半。或者簡單地刪除分號。
執行結果是:a =
1 2 3 4 52 3 4 5 61 4 3 3 21 3 5 7 3max =7
maxi =4
maxj =4
5樓:大野瘦子
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;
endend
endmax
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.
6樓:赫力封亦玉
input那行後面的分號錯了,不應該用中文全形的,應該用英文半形的。或者乾脆去掉分號。
執行結果如下:
輸入乙個4*5矩陣[12345;23456;14332;13573]a=12345
23456
14332
13573
max=
7maxi=
4maxj=
4順便說一句,matlab有現成庫函式,你幹嘛非要自己編啊。
a=rand(4,5)%取隨機數,也可以像你那樣input手工輸入。
[m,ind]=max(a(:))%最大值及其索引,a(:)把矩陣轉換成向量
[i,j]=ind2sub(size(a),ind)%最大值下標
7樓:天雲一號
可以利用max函式求出最大值及其所在的位置,具體實現可參考如下**:
% 函式檔案fun.m
function [maxv, row, col] = fun(x)
[maxv1, ~] = max(x, , 1); % 獲取每列的最大值
[maxv2, ~] = max(x, , 2); % 獲取每行的最大值
[maxv, col] = max(maxv1); % 獲取x每列最大值的最大值(即x的最大值,max預設獲取沒列最大值),以及maxv1中最大值所在的位置(x的最大值所在的列數)
[~, row] = max(maxv2); % 獲取x每行最大值的最大值(即x的最大值,max預設獲取沒列最大值),以及maxv2中最大值所在的位置(x的最大值所在的行數)
% 主檔案main.m
x = [2 8 4 5 6
7 3 9 3 13
23 3 12 17 11
2 34 7 12 9];
[maxvalue, row, col] = fun(x); % 執行後,輸出maxvalue=34,row=4,col=2
8樓:匿名使用者
matlab 中 「i」為虛數單位,不能作為迴圈變數,可以把裡面的i改為ii。
9樓:敬亞君
必須輸入乙個4*5矩陣,
matlab 如何用max函式計算乙個矩陣中某一行的最大值
10樓:淘子和她的魚
命令:>> max(z1(1,:))
其中抄z1(1,:)中1表示
第1行,冒襲號:表示第1行所有元素bai。
max求乙個陣列的最du大元素函式。zhi用法c = max(a)
返回乙個陣列各不
dao同維中的最大元素。
如果a是乙個向量,max(a)返回a中的最大元素。
如果a是乙個矩陣,max(a)將a的每一列作為乙個向量,返回一行向量包含了每一列的最大元素。
如果a是多為陣列,max(a) treats the values along the first non-singleton dimension as vectors, returning the maximum value of each vector.
c = max(a,b)
返回乙個和a和b同大小的陣列,其中的元素是從a或b中取出的最大元素。
c = max(a,,dim)
返回a中有dim指定的維數範圍中的最大值。
[c,i] = max(...)
找到a中那些最大值的索引位置,將他們放在向量i中返回。如果這裡有多個相同最大值時,返回的將是第乙個的索引。
11樓:匿名使用者
>> z1=[3,5;4,10]
z1 =
3 5
4 10
>> max(z1(1,:))
ans =5
matlab中如何求乙個矩陣中最大元素的下標
12樓:計算天下
首先[c1,i1]=max(a)返回矩陣a的每一列的最大值和它所在的行數。
然後回[c2,i2]=max(c1)返回向量c1的最大值和它的位置。
因此,答矩陣a的最大值下標為a(i1(i2),i2)。
具體參見matlab自帶幫助。
在matlab中怎樣取矩陣的列向量呀
直接對矩bai陣進行取列操du 作,如 a 2,3,1 3,0,7 2,9,7 1,3,2 a a 1 將矩陣a的第zhi一列全部取出dao來,並專賦值給變數a,此時屬變數就是乙個列向量,其維數與矩陣a的行數一致。執行完以上程式段後,a 2,3,2,1 a矩陣第j列,就是a j 第i行就是a i,初...
1行3列的矩陣能求秩麼,3行3列矩陣行列式的值怎麼算
d。求a的行列式,a 的所有行加到第一行,第一行提取公因子,第一行乘以 1加到下面各回行,則 a 1 n 1 a 1 a n 1 若答a的秩是n 1,則 a 0,解得a 1或1 1 n a 1時,a的秩是n 1。a 1 1 n 時,a 0,a的前n 1行n 1列構成的子式非零,所以a的秩是n 1。3...
在excel中如何把A列和B列中4位數的數字放在C列
呵呵,榜眼考慮的太多了 if len a1 4,a1,b1 當然,這個公式的意思是a1 b1總有乙個必須是4位數字。我看你的要求也是總有乙個是4位數字,所以我就簡化公式了。如果不是我上面的假設,那就用 ybcxj2008 的公式。當然 ybcxj2008的公式也包含了我公式,但是假設你本就符合我的假...