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 一 電腦不能啟動的原因 系統不承認硬碟 此類故障比較常...