有45矩陣用matlab程式設計求出其最大值及其所在

2021-03-07 05:26:39 字數 4302 閱讀 7270

1樓:世界的偏角

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 函式可以找到矩陣中等於最大值的位置。

2樓:僅僅是追憶

輸入該行後面的分號

是錯誤的。它不應該是中文的。英語角應該是一半。或者簡單地刪除分號。

執行結果是:a =

1     2     3     4     52     3     4     5     61     4     3     3     21     3     5     7     3max =7

maxi =4

maxj =4

3樓:大野瘦子

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.

4樓:赫力封亦玉

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)%最大值下標

5樓:天雲一號

可以利用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

6樓:匿名使用者

matlab 中 「i」為虛數單位,不能作為迴圈變數,可以把裡面的i改為ii。

7樓:敬亞君

必須輸入一個4*5矩陣,

matlab中求一個矩陣的最大值及位置用哪個函式?

8樓:楊必宇

舉個例du子:

>> 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

>>  找到最大元素是zhi6,對應位置是x=2,y=3,就是第2行,第3列。dao

紙巾用水浸溼後不斷擦拭手機後蓋,注意水不能擦太多,薄薄擦一點就好了,關鍵是要後蓋上的水快速蒸發。待後蓋上的水珠蒸發幹後,又重複擦拭,一直重複至降溫完畢時。原理就是蒸發吸熱 。

手機發熱嚴重也有可能是系統很久沒有優化所致.開啟手機管家,將手機優化即可.

手機裡的軟體開的少,但是有些軟體可能是高耗電的程式.我們將這些程式關閉也可以起到降溫的效果.

9樓:夜風穿林

第二個問題位置函式寫錯了,應該是這樣[x y]=find(max(max(a))==a)

10樓:匿名使用者

找最大元素就是max(max(a)),注意二維矩陣要寫兩個max找對應位置用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列

11樓:匿名使用者

[c,i] = max(...) finds the indices of the maximum values of a, and returns them in output vector i. if there are several identical maximum values, the index of the first one found is returned.

c為最抄大襲值bai

,dui為位

zhi置dao

12樓:匿名使用者

矩陣比較麻煩

max(max(a))為最大值

位置大概要寫函式了

13樓:蘇酥訴速

找最大元素就復是max(max(a)),找對制應位置用find函式 。

舉個例子bai:

>> 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

>>  找到最大du元素是6,對應

zhi位置是x=2,y=3,就是第dao2行,第3列。

matlab中矩陣畫圖如何程式設計

假設待分析bai在精細紋理影象 du的一部分是一個 zhim n的矩形視窗。dao 某一灰度級結構的出版現情況可以權由相對的頻率的矩陣來描述,他描繪了具有灰度級a,b的兩個畫素,在方向 上間隔距離為d,以多大的頻率出現在視窗中。共生矩陣求取方法 主要有如下六種 1.能量,或角度二階矩 影象均勻性的測...

程式設計題 求矩陣A 設矩陣A為 A 123456 B

int a 6 int b 6 int i,j for i 0 i 2 i for j 0 j 3 j b j 3 i a i 2 j 如果將a和b直接定義成二維陣列就更簡專單了屬。新手應該學習什麼程式語言?1.看你的情況說明,建議還是學 易語言 或者vb 2.易語言是中文環境,背後的實質是c語言,...

matlab編寫m檔案求兩矩陣的乘法有問題請高手指點

很高興為您解答這個問題,matlab中兩個矩陣是可以直接相乘的,比如c a b。如果要自己程式設計來實現,可以這樣做。function c mutiply matrix a,b m1,n1 size a m2,n2 size b if n1 m2 c return c endc zeros m1,n...