西工大matlab考试知识点整理.docx

上传人:b****7 文档编号:10002682 上传时间:2023-02-07 格式:DOCX 页数:40 大小:46.28KB
下载 相关 举报
西工大matlab考试知识点整理.docx_第1页
第1页 / 共40页
西工大matlab考试知识点整理.docx_第2页
第2页 / 共40页
西工大matlab考试知识点整理.docx_第3页
第3页 / 共40页
西工大matlab考试知识点整理.docx_第4页
第4页 / 共40页
西工大matlab考试知识点整理.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

西工大matlab考试知识点整理.docx

《西工大matlab考试知识点整理.docx》由会员分享,可在线阅读,更多相关《西工大matlab考试知识点整理.docx(40页珍藏版)》请在冰豆网上搜索。

西工大matlab考试知识点整理.docx

西工大matlab考试知识点整理

1.

p=[2,0,-3,71,-9,13];%建立多项式系数向量

x=roots(p);%求根

2.

a=[2,3,-1;8,2,3;45,3,9];%建立系数矩阵a

b=[2;4;23];%建立列向量b

x=inv(a)*b

3.基本运算

sin(45*pi/180)

sqrt(2*exp(4.92+0.5)+1)

4.常用命令

命令含义

clc清除命令窗口的显示内容

clear清除Matlab工作空间中保存的变量

who或whos显示Matlab工作空间中的变量信息

dir显示当前工作目录的文件和子目录清单

cd显示或设置当前工作目录

type显示指定m文件的内容

help或doc获取在线帮助

quit或exit关闭/推出MATALB

5.matlab组成

菜单栏、工具栏、文件编辑窗口、命令窗口、工作空间、历史命令窗口、命令提示符、Start菜单

6.MATLAB提供的帮助信息有两类

简单纯文本帮助信息

Help

lookfor(条件比较宽松)例:

inverse

窗口式综合帮助信息(文字、公式、图形)

Doc

helpwin

7.符号计算

symsxyz%建立符号变量

[x,y,z]=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)

8.求解定积分

求解I=

quad('x.*log(1+x)',0,1)

symsx

nt(x*log(1+x),0,1)

ans=

9.多项式曲线拟合

x=[1,2,3,4,5,6,7,8,9,10]

y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2]

注:

一次多项式拟合:

p1=polyfit(x,y,1)

三次多项式拟合:

p3=polyfit(x,y,3)

plot原始数据、一次拟合曲线和三次拟合曲线

x2=1:

0.1:

10;

y1=polyval(p1,x2)

y3=polyval(p3,x2)

plot(x,y,’*’,x2,y1,‘:

’,x2,y3)

10.复数及其运算

MATLAB中复数的表达:

z=a+bi,其中a、b为实数。

MATLAB把复数作为一个整体,象计算实数一样计算复数。

11.矩阵是Matlab最基本的数据对象,并且矩阵的运算是定义在复数域上的。

12.Matlab程序控制结构

顺序结构

分支结构

if-then-else语句

if<判断语句>

语句1

end

if<判断语句>

语句1

else语句2

end

switch-case语句

switch<判断值>

case判断值1

语句1

case判断值2

语句2

otherwise

语句n

end

循环结构

for-end语句

for循环控制变量=起始值:

步长:

终止值

循环体

end

while-end语句

while<循环判断语句>

循环体

end

其他语句

break和continue语句

break:

跳出循环

continue:

提前结束当前循环

return语句:

终止程序

try-catch语句:

异常处理

13.M文件(函数文件)

建立、编辑、保存、调用

14.创建一维数组变量

行:

第一种方法:

使用方括号“[]”操作符

>>a=[13pi3+5*i]%ora=[1,3,pi,3+5*i]

a=1.00003.00003.14163.0000+5.0000i

第二种方法:

使用冒号“:

”操作符

>>b=1:

10%x=Start:

Increment:

End

b=12345678910

第三种方法:

利用函数linspace

函数linspace的基本语法

x=linspace(x1,x2,n)

该函数生成一个由n个元素组成的行向量;

x1为其第一个元素;

x2为其最后一个元素;

x1、x2之间元素的间隔=(x2-x1)/(n-1)。

如果忽略参数n,则系统默认生成100个元素的行向量

键入并执行x=linspace(1,2,5)

x=1.00001.25001.50001.75002.0000

第四种方法:

利用函数logspace

列:

使用方括号“[]”操作符,使用分号“;”分割行。

键入并执行x=[1;2;3]

X=1

2

3

15.创建二维数组变量

第一种方法:

使用方括号“[]”操作符

键入并执行a2=[123;456;789]

a2=

123

456

789

第二种方法:

函数方法

函数ones(生成全1矩阵)、zeros(生成全0矩阵)、reshape

reshape的使用演示

>>a=-4:

4

a=

-4-3-2-101234

>>b=reshape(a,3,3)

b=

-4-12

-303

-214

单下标的使用

>>a=zeros(2,5);

>>a(:

)=-4:

5

a=

-4-2024

-3-1135

注意数组的排列顺序。

16.元素与子数组的寻访与赋值

一维数组元素与子数组的寻访与赋值:

>>a=linspace(1,10,5)

a=

1.00003.25005.50007.750010.0000

>>a(1:

3)%寻访前3个元素组成的子数组

>>a([125])%寻访a的第1、2、5个元素组成的子数组

>>a(3:

-1:

1)%由前3个元素倒序构成的子数组

>>a([12355321])

ans=

1.00003.25005.500010.000010.00005.50003.25001.0000

数组元素可以被任意重复访问,构成长度大于原数组的新数组。

二维数组元素与子数组的寻访与赋值:

>>a_2=zeros(2,4)%创建2x4的全0数组

a_2=

0000

0000

>>a_2(:

)=1:

8

a_2=

1357

2468

>>a_2([258])%单下标方式寻访多个元素

ans=

258

>>a_2([258])=[102030]

a_2=

13207

104630

>>a_2(:

[23])=ones

(2)%双下标方式寻访并修改

a_2=

1117

101130

size函数返回变量的大小,即变量数组的行列数

length函数返回变量数组的最大维数

sub2ind函数-双下标转换为单下标

>>sub2ind(size(A),2,1,2)

ind2sub函数-双下标转换为单下标

>>[I,J]=ind2sub(size(b),IND)

17.矩阵算术运算

运算运算符含义说明

加+相应元素相加

减-相应元素相减

乘*矩阵乘法

点乘.*相应元素相乘

幂^矩阵幂运算

点幂.^相应元素进行幂运算

左除或右除\或/矩阵左除或右除

左点除或右点除.\或./A的元素被B的对应元素除

18.Matlab提供了6种关系运算符:

<、>、<=、>=、==、~=(不等于)

P=rem(A,3)==0%被3除,求余

Matlab提供了3种逻辑运算符:

&(与)、|(或)、~(非)

算术运算优先级最高,逻辑运算优先级最低。

19.求向量的最大值和最小值:

(1)y=max(X):

返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值;

(2)[y,I]=max(X):

返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。

求矩阵的最大值和最小值:

求矩阵A的最大值的函数有3种调用格式,分别是:

(1)max(A):

返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;

(2)[Y,U]=max(A):

返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;

(3)max(A,[],dim):

dim取1或2。

dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

求最小值的函数是min,其用法和max完全相同。

求和与求积:

sum(X):

返回向量X各元素的和。

prod(X):

返回向量X各元素的乘积。

sum(A):

返回一个行向量,其第i个元素是A的第i列的元素和。

prod(A):

返回一个行向量,其第i个元素是A的第i列的元素乘积。

sum(A,dim):

当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。

prod(A,dim):

当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。

平均值与中值:

求数据序列平均值的函数是mean,求数据序列中值的函数是median。

两个函数的调用格式为:

mean(X):

返回向量X的算术平均值。

median(X):

返回向量X的中值。

mean(A):

返回一个行向量,其第i个元素是A的第i列的算术平均值。

median(A):

返回一个行向量,其第i个元素是A的第i列的中值。

mean(A,dim):

当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。

median(A,dim):

当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。

20.字符串

1)Matlab用「单引号」来界定一个字符串。

可以使用方括号“[]”直接连接多个字符串变量,得到一个新字符串变量。

str1=‘IlikeMATLAB,’;%建立字串变量str1

str2='JavaScript,andPerl!

';%建立字串变量str2

str3=[str1str2]%直接连接str1及str2,以建立str3

str3=IlikeMATLAB,JavaScript,andPerl!

2)如要输入的字符串中有单引号,则由两个连续的单引号来表示。

若要计算字符串变量的长度(即组成字符串的个数),可用length指令。

sentence='I''vegotadate!

';

length(sentence)%计算字字符串sentence的长度

3)double指令:

查看字符串变量的存储內容(即ASCII内码)

char指令:

将ASCII內码转换为字符串形式

sentence='I''vegotadate!

';

sentenceAscii=double(sentence)%查看sentence的ASCII码

sentence2=char(sentenceAscii)%将ASCII码恢复成字符串形式

4)class或ischar指令:

可以用来判断一个变量的类型或它是否为字符串变量。

chinese=‘今日事,今日毕';

out1=class(chinese)%out1的值是“char”

x=chinese+1;

out2=ischar(x)%out2的值是0,代表x不是字符串变量

21.一个字符数组变量存储多行字符串

1)第一种方法是使用二维字符数组(TwoDimensionalCharacterArrays)

必须先确认每个字符串(即每一行)的长度一样,否则就必须在短字符串结尾补齐空格

departments=[‘ee’;‘cs’;‘econ’]

注意上述语句中空格字符的使用。

departments=

ee

cs

econ

2)用char指令存储多字符串

departments=char(‘ee’,‘cs’,‘econ’)%注意空格及「,」的使用

3)从二维字符数组访问字符串时,切记要使用deblank指令来清除字符串尾部的空格字符

departments=char('ee','cs','econ');

dept1=departments(1,:

);%(1,:

)代表第一行的全部元素

dept2=deblank(dept1);%使用deblank指令清除尾部的空格字符

len1=length(dept1)%显示变量dept1的长度=4

len2=length(dept2)%显示变量dept2的长度=2

22.字符串的操作

strcmp指令:

用于比较字符串的內容的异同

不相等返回0,相等返回1

out1=strcmp(str1,str2)%比较字符串str1和str2

23.空数组(emptyarray)

有一维是0的数组即为空数组

空数组不占据存储空间

最简单的空数组:

0x0的矩阵

复杂的空数组:

0x5or10x0

例如:

>>a=[];b=ones(0,5);

察看空数组:

>>a,b,c%orwhosabc

空数组并非全0数组

数组维数的减小

删除数组的某列和行

>>a=magic(4),a(:

2)=[]

删除(2-D、3-D)数组的单个元素

使用“全下标”方式,不能删除单个元素

>>a(1,2)=[]%系统会警告信息

使用“单下标”可以删除单个元素

>>a(2:

4)=[]%数组a将变为向量

使用“[]”同样可以减小字符数组的维数

24.元胞数组(cellarray)

1)赋值语句创建元胞数组

元胞索引(cellindexing)方式

格式:

a(1,2)={………}

元胞内容索引(contentindexing)方式

格式:

a{1,2}=[…]or‘…’

直接用大括号一次把所有元素括起来

b={'JamesBond',[12;34;56];pi,ones(5)}

2)Cellindexing方式创建元胞数组

>>a(1,1)={[143;058;729]};

>>a(1,2)={'AnneSmith'};

>>a(2,1)={3+7i};

>>a(2,2)={-pi:

pi/10:

pi};

“{}”表示空元胞数组

3)Contentindexing方式创建元胞数组

>>b{1,1}='JamesBond';

>>b{1,2}=[12;34;56];

>>b{2,1}=pi;

>>b{2,2}=zeros(5);

4)元胞数组的连接

c=[ab]%orc=[a;b]

5)cell函数创建元胞数组

>>b=cell(2,3)

b=

[][][]

[][][]

>>whosb

NameSizeBytesClass

b2x324cellarray

注意:

每个cell占有4个字节的空间

6)celldisp显示元胞数组的全部内容(3种)

>>a

>>celldisp(a)%显示全部内容

>>cellplot(a)%图形方式显示元胞数组的结构

使用内容下标索引显示指定元胞的数据

格式:

var_name{row_index,column_index}

或var_name{:

}

7)读取元胞数组中的内容

读取上述b元胞数组的第1行、第2列元胞的内容

>>b,d=b{1,2}

读取b{1,2}的第3行、第1列的数据。

>>e=b{1,2}(3,1)

读取元胞数组a第1行的所有元胞。

>>f=a(1,:

删除元胞数组a第1行的所有元胞。

>>a(1,:

)=[]

Note:

这里使用的是元胞索引(cellindexing),而不是内容索引(contentindexing)

25.结构与结构数组的概念

结构(structure)

由字段(或域,fields)组成

每个字段可以是任一种Matlab数据类型的数据或变量

与C语言的结构类型相似

结构数组(structurearray)

多个结构构成结构数组(structurearray)

结构数组的元素就是一个结构

26.结构数组变量的创建

1)方法一:

直接键入

>>clearstudent%清除student变量

>>student.name='张三';%加入name字段

>>student.id='mr871912';%加入id字段

>>student.scores=[58,75,62];%加入scores字段

>>student%显示结构变量的数据

student=

name:

'张三'

id:

'mr871912'

scores:

[58,75,62]

此时,Matlab视student为一个1x1结构数组

第二个学生的信息建立

>>student

(2).name='张宁';%加入name字段

>>student

(2).id='mr871913';%加入id字段

>>student

(2).scores=[68,85,92];%加入scores字段

此时,student变量已成为一个1x2的结构数组

2)方法二:

struc函数

>>clearstudent

>>student=struct('name','张听说','scores',[5060]);

>>student

(2)=struct('name','张廷安','scores',[6070]);

>>student

(1),student

(2)%显示student

(1),student

(2)

ans=

name:

'张听说'

scores:

[5060]

ans=

name:

'张廷安'

scores:

[6070]

使用struct创建结构数组变量(一次建立多个元素)

>>clearstudent

>>student=struct('name',{'张听说','张廷安'},'scores',{[5060],[6070]});

>>student

(1),student

(2)%显示student

(1),…

ans=

name:

'张听说'

scores:

[5060]

ans=

name:

'张廷安'

scores:

[6070]

3)结构数组嵌套(nested)

结构数组中结构的字段还可以是结构。

4)访问结构数组变量的内容

cat函数:

排列结构数组某字段的值

格式:

cat(dim,structurefield)

dim=1,竖排;dim=2,横排

Exam:

>>cat(1,student.scores)

ans=

5560

6580

>>cat(2,student.scores)

ans=

55606580

5)计算平均值(使用mean函数)

计算每次考试的平均值

>>average1=mean(cat(1,student.scores))

average1=

6070

27.plot指令的基本调用格式

(1)plot(x)

x为向量时,以该元素的下标为横坐标、元素值为纵坐标绘出曲线

x为实数二维数组时,则按列绘制每列元素值相对其下标的曲线,曲线数等于x数组的列数。

x为复数二维数组时,则按列分别以数组的实部和虚部为横、纵坐标绘制多条曲线

(2)plot(x,y)

x、y为同维数组时,绘制以x、y元素为横纵坐标的曲线

x为向量,y为二维数组、且其列数或行数等于x的元素数时,绘制多条不同颜色的曲线

x为二维数组,y为向量时,情况与上相同,只是y仍为纵坐标。

x=0:

pi/100:

2*pi;

y=2*exp(-0.5*x).*sin(2*pi*x);

plot(x,y)

t=-pi:

pi/100:

pi;

x=t.*cos(3*t);

y=t.*sin(t).^2;

plot(x,y)

(3)plot(x1,y1,x2,y2,…)

绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、y2为纵坐标的曲线2,等等。

其中x为横坐标,y为纵坐标,绘制y=f(x)函数曲线。

(4)多次叠绘

多次调用plot命令在一幅图上绘制多条曲线,需要hold指令的配合。

holdon保持当前坐标轴和图形,并可以接受下一次绘制。

holdoff取消当前坐标轴和图形保持,这种状态下,调用plot绘制完全新的图形,不保留以前的坐标格式、曲线。

(5)双纵坐标:

plotyy指令

plotyy指令调用格式:

plotyy(x1,y1,x2,y2)

x1-y1曲线y轴在左,x2-y2曲线y轴在右。

(6)多子图

subplot(m,n,k)

使(m*n)幅子图中第k个子图成为当前图

subplot(‘postion’,[left,bottom,width,height])

在指定的位置上开辟子图,并成为当前图

(7)分格线与grid指令

gridon画出分格线

gridoff不画分格线

MATLAB的缺省设置是不画分格线;分格线的疏密取决于坐标刻度(改变坐标刻度,可改变分格线的疏密)。

(8)坐标框

boxon控制加边框线

boxoff控制不加边框线

(9)刻度设置

指令及格式:

set(gca,‘xtick’,xs,‘ytick’,ys)

xs、ys可以使任何合法的实数向量,用于分别设置x、y轴的刻度。

28.图形标识

(1)图形标识包括:

图名(title)

坐标轴名(xlabel、ylabel)

图形文本注释(text)

图例(legend)

(2)简捷使用格式

title(s)%s为字符串变量或常量

xlabel(s)

ylabel(s)

legend(s)

text(x,y,s)%指定坐标(x,y)处加注文字

(3)直方图(柱形图)bar

垂直直方图

累计式

year=[1990199520

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

当前位置:首页 > 初中教育 > 语文

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

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