1、Size 函数用法
例如:1,2,3;4,5,6]是一个2*3的矩阵,则:
d = size(X); %返回矩阵的行数和列数,保存在d中
[m,n] = size(X)%返回矩阵的行数和列数,分别保存在m和n中
m = size(X,dim);%返回矩阵的行数或列数,dim=1返回行数,dim=2返回列数
2、Corrcoef 函数用法
corrcoef(x,y)表示序列x和序列y的相关系数,得到的结果是一个2*2矩阵,其中对角线上的元素分别表示x和y的自相关,非对角线上的元素分别表示x与y的相关系数和y与x的相关系数,两个是相等的
3、sort函数用法
sort(X) 功能:返回对向量X中的元素按列升序排列的新向量。
[Y, I] = sort(A, dim, mode) 功能:对矩阵A的各列或各行重新排序,I记录Y中的元素在排序前A中位置,其中dim指明读A的列还是行进行排序。若dim=1,则按列排序;若dim=2,则按行排序。mode为排序的方式,取值'ascend'为升序,'descend'为降序
4、Legend 函数用法
legend(string1,string2,string3,┈)
分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。
例如:
plot(x,sin(x),‟.b‟,x,cos(x),‟+r‟)
legend(„sin‟,‟cos‟) //这样就可以把”.”标识为”sin”,把”+”标识为“cos”
5、find 函数用法
到非零元素的索引和值
语法:
1. ind = find(X)
2. ind = find(X, k)
3. ind = find(X, k, 'first')
4. ind = find(X, k, 'last')
5. [row,col] = find(X, ...)
6. [row,col,v] = find(X, ...)
说明:
1. ind = find(X)
出矩阵X中的所有非零元素,并将这些元素的线性索引值(linear indices:按列)返回到向量ind中。
如果X是一个行向量,则ind是一个行向量;否则,ind是一个列向量。
如果X不含非零元素或是一个空矩阵,则ind是一个空矩阵。
2. ind = find(X, k) 或 3. ind = find(X, k, 'first')
返回第一个非零元素k的索引值。
k必须是一个正数,但是它可以是任何数字数值类型。
4. ind = find(X, k, 'last')
返回最后一个非零元素k的索引值。
5. [row,col] = find(X, ...)
返回矩阵X中非零元素的行和列的索引值。
这个语法对于处理稀疏矩阵尤其有用。
如果X是一个N(N>2)维矩阵,col包括列的线性索引。
例如,一个5*7*3的矩阵X,有一个非零元素X(4,2,3),find函数将返回row=4和col=16。也就是说,(第1页有7列)+(第2页有7列)+(第3页有2列)=16。
6. [row,col,v] = find(X, ...)
返回X中非零元素的一个列或行向量v,同时返回行和列的索引值。
如果X是一个逻辑表示,则v是一个逻辑矩阵。
输出向量v包含通过评估X表示得到的逻辑矩阵的非零元素。
例1
X = [1 0 4 -3 0 0 0 8 6];
indices = find(X)
返回X中非零元素的线性索引值。
indices =
1 3 4 8 9
例2
你可以用一个逻辑表达方式定义X。例如
find(X > 2)
返回X中大于2的元素的相对应的线性索引值。
ans =
3 8 9
例4
下列表示
[r,c,v] = find(X>2)
返回包含X中非零元素的行索引值的向量
r =
1
2
包含X中非零元素的列索引值的向量
c =
1
3
包含N=(X>2)非零元素的逻辑矩阵
v =
1
1
记住,当你用find指令处理一个逻辑表达的时候,输出向量v不包含输入矩阵的非零元素的索引值。而是包含评估逻辑表达之后返回的非零值。
例5
在向量上的一些操作
x = [11 0 33 0 55]';
find(x)
ans =
1
3
5
find(x == 0)
ans =
2
4
find(0 < x & x < 10*pi)
ans =
1
例6
对于矩阵
M = magic(3)
M =
8 1 6
3 5 7
4 9 2
find(M > 3, 4)
返回前四个M>3的索引值
ans =
1
3
5
6
6、plot 函数用法
基本形式
>> y=[0 0.58 0.70 0.95 0.83 0.25];
>> plot(y)
生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。
>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值
>> y=sin(x);
>> plot(x,y)
生成的图形是上30个点连成的光滑的正弦曲线。
多重线
>> y=[0 0.58 0.70 0.95 0.83 0.25];
>> plot(y)
生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。
>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值
>> y=sin(x);
>> plot(x,y)
生成的图形是上30个点连成的光滑的正弦曲线。
多重线
在同一个画面上可以画许多条曲线,只需多给出几个数组,例如
>> x=0:pi/15:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,x,y2)
则可以画出多重线。另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如:
>> x=linspace(0,2*pi,30); y=sin(x); plot(x,y)
>> hold on
>> z=cos(x); plot(x,z)
>> hold off
>> x=0:pi/15:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,x,y2)
则可以画出多重线。另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如:
>> x=linspace(0,2*pi,30); y=sin(x); plot(x,y)
>> hold on
>> z=cos(x); plot(x,z)
>> hold off
线型和颜
MATLAB对曲线的线型和颜有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:
MATLAB中提供的线型属性有:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
以下面的例子说明用法:
>> x=0:pi/15:2*pi;
>> y1=sin(x); y2=cos(x);
>> plot(x,y1,’b:+’,x,y2,’g-.*’)
plot(1:n,ObjV{1},'-go','LineWidth',1, 'MarkerFaceColor','g')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论