matlab求最值及数组排序问题
1.最值问题
使用函数range()求数据中最大值和最小值之差
clear all;
clc;
X1=[1 3 4 10 3 5]
y1=range(X1) %向量
X2=[1 3 5;2 4 6;8 1 3]
y2=range(X2) %矩阵
y3=range(X2,2)
程序运行结果:
X1 =
1    3    4 10    3 5
y1 =
9
X2 =
1    3 5
2    4 6
8    1 3
y2 =
7    3 3
y3 =
4
4
7
使用函数minmax()获取数据的最大值和最小值
clear all;
clc;
X1=[1 3 4 10 3 5]
y1=minmax(X1) %向量
X2=[1 3 5;2 4 6;8 1 3]
y2=minmax(X2) %矩阵---按行进行比较,每一行的最小值放在第一列,每一行的最大值放在第二列
程序运行结果:
X1 =
1    3    4 10    3 5
y1 =
1 10
X2 =
1    3 5
2    4 6
8    1 3
y2 =
1 5
2 6
1 8
2.排序问题
clear all;
clc;
X=[1 3 4;8 3 5;2 7 4]
y1=sort(X) %按列由小到大排列
y2=sort(X,2) %按行由小到大排列
y3=sort(X,1,'descend') %按列由小到大排列[Y,I]=sort(X) %返回值I为元素的位置[Y,I]=sort(X,2)
程序运行结果:
X =
1    3 4
8    3 5
2 7 4
y1 =
1    3 4
2    3 4
8 7 5
y2 =
1    3 4
3    5 8
2    4 7
y3 =
8 7 5
2    3 4
1    3 4
Y =
1    3 4
2    3 4
8 7 5
I =
1    1 1
3    2 3
2    3 2
Y =
1    3 4
3    5 8
2    4 7
I =
1    2 3
2    3 1
1    3 2
clear all;
clc;
X=[1 3 4;8 3 5;2 7 4]
y1=sortrows(X) %按行首个元素排序y2=sort(X,2) %按值排序
[Y,I]=sort(X)
程序运行结果:
X =
1    3 4
matlab数组赋值
8    3 5
2 7 4
y1 =
1    3 4
2 7 4
8    3 5
y2 =
1    3 4
3    5 8
2    4 7
Y =
1    3 4
2    3 4
8 7 5
I =
1    1 1
3    2 3
2    3 2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。