您的位置:首页 > 编程语言 > MATLAB

matlab简单应用

2016-03-21 13:42 465 查看
1.一个集合中,找出最大的3个元。

A=[ 25 4 1 3 7]
[matr ind]=max(A)
[a_sort ind]=sort(A)
a_sort([end-2:end])

a_sort =
1 3 4 7 25
ind =
3 4 2 5 1
A([end-2:end])
ans =
1 3 7
>> a_sort([end-2:end])
ans =
4 7 25

2. 一个集合中不为零的元素个数,一个函数nnz

A=[1 5 0 0 7 9 8]
nnz(A)
ans =
5

3.一个集合,如果不为零的个数大于K(假设K=3),则取出前K个;如果小于K,则全部取出。

A=[1 -5 0 0 7 9 8];
[A_s,index]=sort(abs(A))
if nnz(A)>3
B=A_s([end-2:end])
else B=A_s([end-nnz+1:end])
end

结果
A_s =
0 0 1 5 7 8 9
index =
3 4 1 2 5 7 6
B = 7 8 9
A=[0 -5 0 0 0 0 8];
[A_s,index]=sort(abs(A))
if nnz(A)>3
B=A_s([end-2:end])
else B=A_s([end-nnz(A)+1:end])
end
运行结果

A_s =

0 0 0 0 0 5 8

index =

1 3 4 5 6 2 7

B =

5 8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: