matlab基础函数用法总结解读.docx

上传人:b****2 文档编号:886198 上传时间:2022-10-13 格式:DOCX 页数:11 大小:20.99KB
下载 相关 举报
matlab基础函数用法总结解读.docx_第1页
第1页 / 共11页
matlab基础函数用法总结解读.docx_第2页
第2页 / 共11页
matlab基础函数用法总结解读.docx_第3页
第3页 / 共11页
matlab基础函数用法总结解读.docx_第4页
第4页 / 共11页
matlab基础函数用法总结解读.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

matlab基础函数用法总结解读.docx

《matlab基础函数用法总结解读.docx》由会员分享,可在线阅读,更多相关《matlab基础函数用法总结解读.docx(11页珍藏版)》请在冰豆网上搜索。

matlab基础函数用法总结解读.docx

matlab基础函数用法总结解读

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中的所有非零元素,并将这些元素的线性索引值(linearindices:

按列)返回到向量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=[104-300086];

indices=find(X)

返回X中非零元素的线性索引值。

indices=

13489

例2

你可以用一个逻辑表达方式定义X。

例如

find(X>2)

返回X中大于2的元素的相对应的线性索引值。

ans=

389

例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=[11033055]';

find(x)

ans=

1

3

5

find(x==0)

ans=

2

4

find(0

ans=

1

例6

对于矩阵

M=magic(3)

M=

816

357

492

find(M>3,4)

返回前四个M>3的索引值

ans=

1

3

5

6

6、plot函数用法

基本形式

>>y=[00.580.700.950.830.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命令。

在已经画好的图形上,若设置holdon,MATLA将把新的plot命令产生的图形画在原来的图形上。

而命令holdoff将结束这个过程。

例如:

>>x=linspace(0,2*pi,30);y=sin(x);plot(x,y)

>>holdon

>>z=cos(x);plot(x,z)

>>holdoff

线型和颜色

MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:

MATLAB中提供的线型属性有:

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:

.

点划线

.

实心圆

c

青绿色

x

叉号符

m

洋红色

s

正方形

y

黄色

d

菱形

k

黑色

^

上三角形

w

白色

v

下三角形

>

右三角形

<

左三角形

p

五角星

h

六边形

以下面的例子说明用法:

>>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')

线性-颜色g标记符o线宽LineWidth1MarkerFaceColo标识符填充颜色g

网格和标记

在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。

>>x=linspace(0,2*pi,30);y=sin(x);z=cos(x);

>>plot(x,y,x,z)

>>grid

>>xlabel(‘IndependentVariableX’)

>>ylabel(‘DependentVariablesYandZ’)

>>title(‘SineandCosineCurves’)

也可以在图形的任何位置加上一个字符串,如用:

>>text(2.5,0.7,’sinx’)

表示在坐标x=2.5,y=0.7处加上字符串sinx。

更方便的是用鼠标来确定字符串的位置,方法是输入命令:

>>gtext(‘sinx’)

在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。

坐标系的控制

在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:

axis([xminxmaxyminymax])[]中分别给出x轴和y轴的最大值、最小值

axisequal或axis(‘equal’)x轴和y轴的单位长度相同

axissquare或axis(‘square’)图框呈方形

axisoff或axis(‘off’)清除坐标刻度

坐标轴控制:

xlim和ylim函数,控制坐标显示的范围,例如xlim([03]);如果要x,y坐标同时控制显示,则axis([xminxmaxyminymax])

多幅图形

可以在同一个画面上建立几个坐标系,用subplot(m,n,p)命令;把一个画面分成m×n个图形区域,p代表当前的区域号,在每个区域中分别画一个图,如

>>x=linspace(0,2*pi,30);y=sin(x);z=cos(x);

>>u=2*sin(x).*cos(x);v=sin(x)./cos(x);

>>subplot(2,2,1),plot(x,y),axis([02*pi–11]),title(‘sin(x)’)

>>subplot(2,2,2),plot(x,z),axis([02*pi–11]),title(‘cos(x)’)

>>subplot(2,2,3),plot(x,u),axis([02*pi–11]),title(‘2sin(x)cos(x)’)

>>subplot(2,2,4),plot(x,v),axis([02*pi–2020]),title(‘sin(x)/cos(x)’)

图形的输出

在数学建模中,往往需要将产生的图形输出到Word文档中。

通常可采用下述方法:

首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。

然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可\

7、disp函数

MATLAB帮助文件里是这么写的:

disp(X)displaysthearray,withoutprintingthearrayname.

也就是说,disp显示数组,但不显示数组名称。

包括你的问题在内,我总结这个函数使用需注意的三点如下:

1、这个数组可以是字符串,也可以不是,所以''不是必须的,有时候甚至是多余的。

如:

>>disp(sqrt

(2))

1.4142

>>disp('sqrt

(2)')

sqrt

(2)

2、X是一个数组,或者说不能是多个数组。

如disp(X,Y)就会犯错:

>>disp('根号2=',sqrt

(2))

Errorusingdisp

Toomanyinputarguments.

当需要输出多个数组时,就需要把多个数组用[]括起来形成一个数组,这样就相当于disp()里只有一个变量了,在title等命令中也有用到。

上面的例子应该改成:

>>disp(['根号2=',num2str(sqrt

(2))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1