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
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
相关文章推荐
- matlab 文件夹操作
- MATLAB r2014a 下载+安装+激活
- MATLAB 编程风格指南
- C/C++下调用matlab函数
- matplotlib对ColorBar的处理似乎优于matlab
- 机器学习MatLab实战整理--线性回归
- matlab归一化和反归一化函数——mapminmax
- Matlab 图像处理基本操作
- matlab图像数据转换函数
- Matlab7.0在64位系统下安装的问题…
- 【matlab】:图像获得其边缘
- Matlab中的常用快捷键
- 简述Matlab中size()函数的用法
- 详解Matlab中 sort 函数用法
- MATLAB2015a(2015b)安装教程
- MATLAB中conv2卷积使用方法
- 细化算法matlab
- 利用LSB算法隐藏文字信息的MATLAB实现
- Matlab Robotic Toolbox工具箱学习笔记
- Matlab实现Kruskal最小生成树算法