matlab中怎麼求矩陣中前最大元素值?謝謝啦

時間 2021-08-30 09:46:34

1樓:匿名使用者

a1=rand(1,10)

[a1_sort,ind]=sort(a1);a1([ind(end-2:end)])

思路:先排序,然後取出相應的2個最大值

a1 = columns 1 through 7 0.7919 0.8014 0.

7402 0.6417 0.9746 0.

5425 0.0237 columns 8 through 10 0.5438 0.

4798 0.2379ans = 0.7919 0.

8014 0.9746

2樓:匿名使用者

設矩陣為a,它的size為m*n

temp = a;

max1 = a(find(a==max(max(temp))));

temp(find(a==max(max(temp)))) = eps;

max2 = a(find(a==max(max(temp))));

temp(find(a==max(max(temp)))) = eps;

max3 = a(find(a==max(max(temp))));

temp(find(a==max(max(temp)))) = eps;

matlab中如何求矩陣a的最大元素及其下標?

3樓:匿名使用者

[y,i]=max(a(:))y是最大值,i是最大值的序號、索引

4樓:匿名使用者

對於二維矩陣,max(a)得到的是向量中的每一個值分別是每列中的最大值。如果球整個矩陣的最大值,再加個max即可。max(max(a)),或者max(a(:))

用matlab如何求矩陣的前k個最大特徵值

5樓:匿名使用者

可以試試 eigs,

這個函式一般返回 6個最大特徵值及 相應特徵向量不過它 要求矩陣是大型稀疏陣

如果你要求前k個,可以做個函式

function varargout = lun6(a, k)clc;

if nargin == 0

a = [1 3 7;3 8 9;5 4 6];

k = 2;

end[v, d] = eig(a);

d = diag(d);

[d, i] = sort(d, 'descend');

if k > length(d)

k = length(d);

endvarargout(1) = ;

varargout(2) = ;

fprintf('\n the k maximum eig is : \n');

celldisp(varargout(1));

fprintf('\n the k eig colum is : \n');

celldisp(varargout(2));

6樓:

用eigs函式就可以,下面是一個示例:

k = 3;%前k個最大特徵

a = magic(5);%隨便生成一個矩陣d = eigs(a,k);%求a的k個最大特徵值disp('k個最大特徵值')

disp(d)

如何利用matlab求一個矩陣裡面的最大值,及位置呢?矩陣中的元素不是整數。謝謝!

7樓:匿名使用者

找最大元素就是max(max(a)),注意二維矩陣要寫兩個max

找對應位置用find函式

例如:a=[5 6 8 7 5

1 3 4 9 8

5 7 9 1.2 8.8

9.8 9.4 8.5 1.3 5.4]

a=max(max(a))

[x,y]=find(a==a)

執行結果:

a =5.0000 6.0000 8.0000 7.0000 5.0000

1.0000 3.0000 4.0000 9.0000 8.0000

5.0000 7.0000 9.0000 1.2000 8.8000

9.8000 9.4000 8.5000 1.3000 5.4000

a =9.8000

x =4

y =1

至於專是不是整數是沒有關係屬的,x和y就是該最大值的位置!

如何在matlab下提取矩陣中若干個最大值的點

8樓:匿名使用者

a=[6,7,3,2,5

5,3,6,4,2

7,9,5,3,2

1,2,3,4,5

8,9,10,5,4]

[x,y]=sort(a(:))

a(y(1:end-5))=0

a =0 7 0 0 00 0 0 0 00 9 0 0 00 0 0 0 08 9 10 0 0因為你的矩陣中有兩個7,程式自動去了第一個7,所以和你的結果版有點權不一樣!

9樓:匿名使用者

max求一個

抄陣列的最大元素函bai數。

用法c = max(a)

返回一個du陣列各不同

zhi維中的最大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中返回。如果這裡有多個相同最大值時,返回的將是第一個的索引。

在matlab中怎麼求矩陣中大於某個數的元素

10樓:雪v歌

在matlab中,可以來

通過sum函式和條件表達源

式來統計矩陣中大bai於或小於某數的du元素的zhi個數。

具體實現方

dao法可以參考如下程式段:

a=[1, 2, 3, 4, 5;

2, 3, 4, 5, 6;

3, 4, 5, 6, 7];

a = sum(a>4); % 統計矩陣a中值大於4的元素的個數% a>4表示判斷矩陣a中每個元素的值是否大於4的,若大於4,則返回1,;否則返回0。

% 所以a>4執行後返回的就是一個只有0和1的向量,此時對該向量進行求和,也就是統計1的個數,即矩陣a中大於4的元素的個數。

matlab矩陣求平均值,在matlab中 怎麼計算平均值

1111我我我 用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 ...

matlab求問找出矩陣A中與矩陣B每元素最接近的值

你需要給t1賦值 的t1應該是一個1 50的向量 matlab 陣列中查詢最接近元素 function y zhidao nearest a,b asort,index sort abs a b y a index 1 呼叫時 zhidao nearest 1 2 3 2.6 同意wacs5的方法。...

matlab怎麼撒矩陣中的部分元素

西西哩的小馬甲 a 50,提取的是第50行的元素,a 50 提取的是第50列的元素。以下是 a 0 2 3 4 5 6 7 8 9 b 1 0 1 0 1 0 0 0 0 k a b 1 c mat2cell k,sum b d sum a.b 一 電腦不能啟動的原因 系統不承認硬碟 此類故障比較常...