实验1 熟悉matlab环境及基本操作.docx

上传人:b****1 文档编号:1177379 上传时间:2023-04-30 格式:DOCX 页数:25 大小:98.99KB
下载 相关 举报
实验1 熟悉matlab环境及基本操作.docx_第1页
第1页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第2页
第2页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第3页
第3页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第4页
第4页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第5页
第5页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第6页
第6页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第7页
第7页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第8页
第8页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第9页
第9页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第10页
第10页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第11页
第11页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第12页
第12页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第13页
第13页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第14页
第14页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第15页
第15页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第16页
第16页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第17页
第17页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第18页
第18页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第19页
第19页 / 共25页
实验1 熟悉matlab环境及基本操作.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验1 熟悉matlab环境及基本操作.docx

《实验1 熟悉matlab环境及基本操作.docx》由会员分享,可在线阅读,更多相关《实验1 熟悉matlab环境及基本操作.docx(25页珍藏版)》请在冰点文库上搜索。

实验1 熟悉matlab环境及基本操作.docx

实验1熟悉matlab环境及基本操作

实验1熟悉Matlb环境及基本操作

实验目的:

1.熟悉Matlab环境,掌握Matlab的主要窗口及功能;

2.学会Matlab的帮助使用;

3.掌握向量、矩阵的定义、生成方法和基本运算;

4.掌握Matlab的基本符号运算;

5.掌握Matlab中的二维图形的绘制和控制。

实验内容:

1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。

2.实例操作Matlab的帮助使用。

3.实例操作向量、矩阵的定义、生成方法和基本运算。

4.实例操作Matlab的基本符号运算。

5.实例操作Matlab中的二维图形绘制和控制。

实验仪器与软件:

1.CPU主频在2GHz以上,内存在512Mb以上的PC;

2.Matlab7及以上版本。

实验讲评:

 

实验成绩:

 

评阅教师:

年月日

实验1熟悉Matlab环境及基本操作

一、Matlab环境及主要窗口的功能

运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图:

 

其中,

1.主窗口的功能是:

主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。

2.命令窗口的功能是:

对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。

3.历史窗口的功能是:

历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

4.当前目录窗口的功能是:

显示当前目录下所有文件的文件名、文件类型、和最后修改的时间,同时还提供搜索功能,在该窗口下,可以改变当前目录

5.M文件编辑器窗口的功能是:

MATLAN提供了一个内置既有编辑和调试功能好的程序编辑器;编辑器窗口也有菜单和工具栏,是编辑和调试程序非常方便

6..发行说明窗口功能是:

该窗口显示MATLAB总包和已安装的工具箱的帮助、演示、GUI工具和产品主页等4个内容。

7.工作空间窗口的功能是:

该窗口显示所有目前内存中MATLAB变量的变量名、数字结构、字节数以及类型,不同的变量类型分别对应不同的变量名图标

8.图形窗口的功能是:

利用图形窗口和工具栏中的选项,可以对图形进行线性、颜色、标记三维视图、光照和坐标轴等的设置

9.GUI(GraphacalUserInterface)窗口功能是:

二、Matlab的帮助使用

Matlab提供的联机帮助系统使用户在没有任何资料的情况下就能掌握它的使用和基本操作,作为Matlab的用户应熟练掌握其联机帮助系统的使用,下面是Matlab联机帮助系统的使用方法。

通过命令窗口中直接输入help命令将会显示当前帮助系统只能怪包含的所有项目

help

三、向量的定义、生成和基本运算

1:

向量的生成

a:

逐个元素直接输入,向量元素需要用“[]”括起来,元素之间可以用空格、逗号或分号分隔。

用空格和逗号分隔生成的行向量用分号分隔生成列向量.

例如:

h=[345678]

f=[3;4;5;6;7;8]

b:

利用冒号表达式创建通过设定“步长(step)”生成一维行向量,通过格式为:

x=x0:

step:

xn。

x0表达向量的首元素值,xn表示尾元素数值限,step表示从第二个元素开始,每一个元素与前一个元素的差值。

step=1时,可以省略此项的输入,直接写成x=x0:

xn。

例:

y=0:

10:

100

x=0:

100

c:

定数线性采样生成设定总点数n下,均匀采样生成一维行向量。

通用格式为x=linspace(a,b,n)。

a,b分别是生成向量的第一个和最后一个元素,n是采样总点数。

该指令生成的数组相当于由a:

(a-b)/(n-1):

b生成的数组。

缺省n时,生成100维的行向量。

clear%清除工空间中的所有变量

x=linspace(6,66,8)

y=6:

60/7:

66

z=linspace(6,66)

d:

定数对数采样生成向量设定总点数n下,经“常用对数”均匀采样生成一维行向量。

通用格式为x=logspace(a,b,n)。

生成数组的第一个元素值为10a,最后一个元素值为10b,n为采样总点数,缺省时,生成50维的行向量。

例如:

clear%清除工作空间的所有变量

x=logspace(1,8,8)

y=1:

7/7:

8

xx=10.^y

z=logspace(1,8)

2:

向量元素的引用

格式为:

向量名(下标范围或元素所满足的条件)。

例:

clear

rand('state',0)%把均匀分布伪随机发生器置为初始状态

x=rand(1,8)%产生(1×8)的均匀分布随机数组

x(7)%引用数组x的第7个元素

y=x([125])%引用数组x的第一、二、五个元素

z=x(1:

3)%引用数组x的前三个元素

w=x(3:

end)%引用数组x的从第三个元素以后的元素

v=x(3:

-1:

1)%由数组x的前3个元素倒排构成的了数组

u=x(find(x>0.5))%数组x中大于0.5的元素构成的子数组

t=x([12344321])%重复引用数组

3:

向量与标量、向量与向量的运算

①四则运算符号有(+-*/\.*./.\)

a:

标量a与向量x进行四则运算是a分别与x中的每个元素进行四则运算并生一个与x等长的向量。

例如

clear

x=[4567891011]

y=3*x+3

z=x/2-1

p=4\x

b:

等长的两个向量才能进行四则运算,向量x与y进行四则运算是这两个向量的对应元素分别进行四则运算并生成一个与它们等长的向量。

例如

clear

x=[123456]

y=x*2

z=x+y

w=x.*y

n=x./y

d=x.\y

②幂运算(.^)

a:

向量x与标量a的幂运算是对x的每一个元素施行幂运算,例如

clear

x=[123456]

y=x.^3

z=3.^y

b:

向量x与向量y的幂运算是元素对元素的幂运算。

例如:

clear

x=[123456]

y=x*2

z=x.^y

b=y.^x

③指数运算、对数运算与开方运算等

在MATLAB中,数组的运算实质上是数组内部每个元素的运算,因此,数组的指数运算、对数运算与开方运算等与标量运算完全一样,运算函数分别为“exp”、“log”、“sqrt”等。

例如:

clear

x=[35791113]

y=exp(x)

z=log(x)

t=sqrt(x)

四、矩阵的定义、生成和基本运算

1.矩阵的创建

①a:

逐个元素直接输入把矩阵元素需用“[]”括起来,同行元素之间用空格或逗号分隔,行与行之间用分号或回车符分隔矩阵元素可为运算表达式,无任何元素的矩阵称为空矩阵。

例如

x=[123;456;789]

y=[1,2,3;4,5,6;7,8,9]

k=[sin(pi/7),cos(pi/4)]

T=[]

②编写M文件创建大矩阵对于大型矩阵,可通过编写脚本式M文件,然后运行该文件来创建。

例如:

编写一名为Example10.m的M文件,内容如下。

%Example10.m

%编写一M文件创建矩阵的示例文件。

emn=[4563442245636;0976658645;2950512436;143854259178;45954145245233]

ans=

1/2*k^2-1/2*k

ans=

1/2*a^2*x^4+1/2*a*x^2

ans=

1/6*pi^2

③通过函数创建特殊矩阵

%Example.m

%编写一M文件,通过函数创建特殊矩阵的示例文件。

%由函数zeros创建全0矩阵。

N=4;M=3;A=[12345;23561;44425];

B1=zeros(M,N)%生成M×N阶全0阵。

C1=zeros(size(A))%生成与A同阶的全0阵。

A2=ones(N)%生成N×N阶全1阵。

B2=ones(M,N)%生成M×N阶全1阵。

C2=ones(size(A))%生成与A同阶的全1阵。

%由函数eye创建单位矩阵。

A2=eye(N)%生成N×N阶单位矩阵

C2=eye(size(A))%生成与A同阶单位矩阵。

%由函数rand或randn创建随机矩阵。

A3=rand(N)%生成N×N阶均匀分布的随机阵,元素值在(0.0,1.0)区间内。

B3=rand(M,N)%生成M×N阶均匀分布的随机阵。

C3=rand(size(A))%生成与A同阶阶均匀分布的随机阵。

H=hilb(N)%生成N×N阶Hilbert矩阵。

2.矩阵元素的引用

①相对位置引用格式:

变量名(行标,列标)

②绝对位置引用格式:

变量名(绝对位置索引)

clear

rand('state',0)

A=rand(5,3)

A(4)%引用距阵A的第四个元素

A(2,3)%引用矩阵A的第二行第三列元素

3.矩阵元素的抽取

①抽取行

clear

rand('state',0)

A=rand(5,6)

A(4,:

)%抽取矩阵A的第四行

A([23],:

)%抽取矩阵A的第二行和第三行

B=A([33],:

)%抽取矩阵A的第三行和第三行赋值给B

C=A(3:

end,:

)%抽取矩阵A的第三行至最后一行赋值给B

②抽取列

clear

rand('state',0)

A=rand(5,6)

A(:

3)%抽取矩阵A的第三列

A(:

[13])%抽取矩阵A的第一列和第三列

B=A(:

[31])%抽取矩阵A的第三列和第一列赋值给B

③抽取块

clear

rand('state',0)

A=rand(3,4)

B=A([12],[23])%抽取矩阵A的第一、二行与第二、三列交叉的元素赋值给B

④抽取矩阵对角线上的元素

clear

rand('state',0)

A=rand(6)%产生(6×6)的均匀分布随机数组

V=diag(A)%抽取矩阵A的主对角线上的元素赋值给向量V

D=diag(V)%以向量V为对角线元素生成对角矩阵

D1=diag(V,2)

D2=diag(V,-2)

U=diag(A,1)%抽取矩阵A的主对角线上方第一条对角线的元素赋值给向量U

L=diag(A,-1)%抽取矩阵A的主对角线下方第一条对角线的元素赋值给向量L

⑤抽取矩阵上三角部分和下三角部分

clear

rand('state',0)

A=rand(5)%产生(5×5)的均匀分布随机数组

U=triu(A,1)%从矩阵A的主对角线上方第一条对角线开始抽取A的上三角部分

U=triu(A,-1)%从矩阵A的主对角线下方第一条对角线开始抽取A的上三角部分

L1=tril(A,1)

L2=tril(A,-1)

4.矩阵的基本数学运算

①矩阵的四则运算(+-*/\)与线性代数理论一致,其中,A\B=inv(A)*B=A^-1*B。

clear

A=[3230;21-46]

B=[-13;41;60;79]

C=A+B'

D=A*B

E=B/D

F=D\A

②矩阵与常数间的运算(+-*/\^)同线性代数理论一致,需注注的是,当进行数除时,常数通常只能做除数。

clear

A=[1230;21-46]

C=A+2

D=A*2

E=A/2

F=2\A

G=A([12],[12])^2

③矩阵的数组运算(.+.-.*./.\.^)是指同维数组间对应元素之间的加、减、乘、除和幂运算,其中“.+”和“.-”分别与“+”和“-”相同,所以,“.+”和“.-”一般不用。

clear

A=[7280;51-46]

B=A+2

C=A.*B

D=A./B

E=B.\A

F=A.^2

④矩阵的基本初等运算

clear

A=[1230;21-46;-1341;6079]

A(2,:

)=A(2,:

)*2%2乘A的第二行

A(1,:

)=A(1,:

)+A(2,:

)%2乘A的第二行,加到A的第一行

A([23],:

)=A([32],:

)%交换A的第二行和第三行

⑤矩阵的逆运算

clear

A=[1230;21-46;-1341;6079]

B=inv(A)

⑥矩阵的行列式运算

clear

A=[1230;21-46;-1341;6079]

B=det(A)

⑦矩阵的指数运算

clear

A=[1230;21-46;-1341;6079]

B=expm(A)

⑧矩阵的对数运算

clear

A=[4232;2146;1341;6479]

B=expm(A)

C=logm(B)

D1=logm(A)

D2=log(A)

⑨矩阵的开方运算

clear

A=[9232;2146;1341;6479]

B=A^2

C=sqrtm(B)

B1=sqrtm(A)

B2=sqrt(A)

5.矩阵的一些特殊操作

①变维方法:

“:

”和函数“reshape”。

reshape(A,M,N)%将已知矩阵变维成M×N阶矩阵

reshape(A,M,N,p,…)%将已知矩阵变维成M×N×P×…阶矩阵

clear

a=1:

12;

A=reshape(a,3,4)

c=zeros(2,6);

c(:

)=a(:

②矩阵的变向。

clear

a=1:

12;

A=reshape(a,3,4)

k=3;dim=1;

A1=rot90(A);

A2=rot90(A,k);

A3=fliplr(A);

A4=flipud(A);

A5=flipdim(A,dim);

②矩阵的扩展与收缩。

clear

a=1:

12;

A=reshape(a,3,4)

B=eye(3,2)

C=ones(2,6)

D=[AB;C]%利用小矩阵的组合来生成大矩阵

D(6:

10,9:

10)=4%利用对矩阵标识块的赋值命令生成大矩阵

D(:

3:

end)=[]%将矩阵标识块置为空以收缩矩阵

五、多项式的定义、生成和基本运算

1.多项式的表示

对于多项式

用行向量

表示,把多项式问题转化为向量问题。

2.多项式的创建

①直接输入系数向量

由于在MATLAB中的多项式是以向量形式储存的,因此,直接输入多项式对应的向量,MATLAB会自动将向量元素按降幂顺序分配给各项系数值,向量可以为行向量,也可以是列向量。

例如:

输入多项式:

p=[1-56-33];

poly2sym(p)

%poly2sym

②通过特征多项式创建

也就是从矩阵求其特征多项式获得。

例如:

A=[123;456;789]

p=poly(A)

poly2sym(p)

③由多项式的根创建多项式

root=[7-3+6i-3-4i];

p=poly(root)

poly2sym(p)

3.多项式运算

①求多项式的值

一般调用函数polyval进行计算,例如:

p=[11155125];

b=[62;0-1];

polyval(p,b)

②求多项式的根

求多项式的根可以有两种方法,一种是直接调用函数roots求解多项式的所有根;另一种是通过建立多项式的伴随矩阵再求其特征值的方法得到多项式的所有根。

两种方法求得的根是相等的。

例如:

p=[2-56-19];

roots(p)

P=compan(p)

eig(p)

3.多项式的乘除法运算

多项式的乘法由函数conv来实现,除法则由函数deconv来实现,例如:

p=[2-56-19];

poly2sym(p)

d=[3-90-18];

poly2sym(d)

pd=conv(p,d)

poly2sym(pd)

p1=deconv(pd,d)

4.多项式的微分

多项式的微分由函数polyder来实现,例如:

p=[2-56-19];

poly2sym(p)

Dp=polyder(p)

poly2sym(Dp)

5.多项式拟合

多项式拟合的实现,一面可以由矩阵的除法求解超定方程来进行;另一方面可调用函数polyfit来实现,调用方法如下:

[p,s]=polyfit(X,Y,n)

其中,X、Y为拟合数据,n为拟合多项式的次,p为拟合多项式的系数向量,s为拟合多项式系数向量的结构信息,例如:

x=0:

pi/20:

pi/2;

y=sin(x);

p=polyfit(x,y,5)

x1=0:

pi/30:

pi*2;

y1=sin(x1);

y2=polyval(p,x1);

plot(x1,y1,'b-',x1,y2,'r+')

legend('原曲线','拟合曲线')

axis([07-1.29])

五、Matlab的基本符号运算

1:

符号表达式的生成

⑴用引号来生成符号表达式,例如

f='exp(x)';

f='a*x^2+b*x+c=0';

f='Dy-y=x'

⑵用sym来生成符号表达式,例如

f=sym('exp(x)');

f=sym('a*x^2+b*x+c=0')

⑶用函数syms来生成符号函数,例如

symsyu;

p=exp(y/u)

2符号表达式的运算

⑴提取分子、分母,例如

f=sym('a*x^2/(b-x)')

[n,d]=numden(f)

3符号表达式的基本运算

4符号表达式的高级运算

a:

符号表达式的复合函数运算通过compose来实现;例如

symsxyt;

f=1/x^3;

g=tan(y);

compose(g,f)

compose(g,f,t)

b:

符号表达式的反函数运算通过函数finverse来实现;例如

f=sym(1/sin(x));

g=finverse(f)

c:

符号表达式的符号和运算通过函数symsum来实现;例如

k=sym('k');

symsum(k)

symsum(k,0,n-1)

symsum(1/k^2,1,inf)

3符号与数值间的转换及符号的可变精度运算

a:

符号表达式转换成数值表达式

p='1+sqrt

(2)/2';

eval(p)

b:

数值表达式转换成符号表达式;例如

p=1.7071;

n=sym(p)

n=

17071/10000

4:

符号表达式的简化

a:

见符号表达式类似于数学课本中的形式显示;例如

symx;

f=taylor(exp(-x)

f=1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

pretty(f)

b:

合并符号表达式中的同类项;例如

symsxy;

f=sym(x^2*y+y*x-x^2-2*x);

f=collect(f)

f=(y-1)*x^2+(y-2)*x

f=collect(f,y)

f=(x^2+x)*y-x^2-2*x

c:

对符号表达式进行因式分解;例如

symsx;

f=sym(x^7-1);

f=factor(f)

f=(x-1)*(x^2+x+1)*(x^6+x^3+1)

d:

对符号表达式进行展开;例如

symsxy;

f=expand((x+1)^3)

f=x^3+3*x+1

s=expand(sin(x+y))

s=sin(x)*cos(y)*sin(y)

e:

对符号表达式进行简化;例如

symsx;

f=sym((x-1)^3/(x-1));

f=simplify(f)

f=(x-1)^2

simple(f)

5:

符号微积分

a:

符号极限;例如

symsxy;

limit((sin(x+y)-sin(x))/y,y,0)

b:

符号微分

symsx;

sym((x-1)^3)

c:

符号积分;例如

symsualpha;

int(sin(alpha*u),alpha)

6:

符号方程求解

a:

符号代数线性方程求解;例如

solve('p*sin(x)=r')

solve('a*x^2+b*x+c','a')

b:

符号代数非线性方程求解;例如

六、Matlab中的二维图形绘制和控制

1:

绘制一个正弦函数图象

x=0:

0.1:

2*pi;

y=sin(x);

plot(x,y)

在图形中绘制坐标网格

x=0:

0.1:

2*pi;

y=sin(x);

plot(x,y)

gridon

取消坐标中的网格

x=0:

0.1:

2*pi;

y=sin(x);

plot(x,y)

gridon

gridoff

x=0:

0.1:

2*pi;

y=sin(x);

z=cos(x);

plot(x,y,x,z)

x=0:

0.1:

2*pi;

y=sin(x);

z=cos(x);

plot(x,y,'g:

diamond',x,z,'b')

x=0:

0.1:

2*pi;

y=sin(x);

z=cos(x);

plot(x,y,'g:

diamond',x,z,'b')

axisequal

七、实验总结

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2