实验1 熟悉matlab环境及基本操作Word文档格式.docx

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

实验1 熟悉matlab环境及基本操作Word文档格式.docx

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

实验1 熟悉matlab环境及基本操作Word文档格式.docx

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

例如:

h=[345678]

f=[3;

4;

5;

6;

7;

8]

b:

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

x=x0:

step:

xn。

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

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

例:

y=0:

10:

100

x=0:

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等长的向量。

例如

x=[4567891011]

y=3*x+3

z=x/2-1

p=4\x

b:

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

x=[123456]

y=x*2

z=x+y

w=x.*y

n=x./y

d=x.\y

②幂运算(.^)

a:

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

y=x.^3

z=3.^y

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

z=x.^y

b=y.^x

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

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

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

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

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×

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.矩阵元素的引用

①相对位置引用格式:

变量名(行标,列标)

②绝对位置引用格式:

变量名(绝对位置索引)

0)

A=rand(5,3)

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

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

3.矩阵元素的抽取

①抽取行

A=rand(5,6)

A(4,:

)%抽取矩阵A的第四行

A([23],:

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

B=A([33],:

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

C=A(3:

end,:

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

②抽取列

A(:

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

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

B=A(:

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

③抽取块

A=rand(3,4)

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

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

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

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

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。

A=[3230;

21-46]

B=[-13;

41;

60;

79]

C=A+B'

D=A*B

E=B/D

F=D\A

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

A=[1230;

C=A+2

D=A*2

E=A/2

F=2\A

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

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

A=[7280;

51-46]

B=A+2

C=A.*B

D=A./B

E=B.\A

F=A.^2

④矩阵的基本初等运算

21-46;

-1341;

6079]

A(2,:

)=A(2,:

)*2%2乘A的第二行

A(1,:

)=A(1,:

)+A(2,:

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

)=A([32],:

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

⑤矩阵的逆运算

B=inv(A)

⑥矩阵的行列式运算

B=det(A)

⑦矩阵的指数运算

B=expm(A)

⑧矩阵的对数运算

A=[4232;

2146;

1341;

6479]

C=logm(B)

D1=logm(A)

D2=log(A)

⑨矩阵的开方运算

A=[9232;

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×

…阶矩阵

a=1:

12;

A=reshape(a,3,4)

c=zeros(2,6);

c(:

)=a(:

②矩阵的变向。

k=3;

dim=1;

A1=rot90(A);

A2=rot90(A,k);

A3=fliplr(A);

A4=flipud(A);

A5=flipdim(A,dim);

②矩阵的扩展与收缩。

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;

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来实现,例如:

d=[3-90-18];

poly2sym(d)

pd=conv(p,d)

poly2sym(pd)

p1=deconv(pd,d)

4.多项式的微分

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

Dp=polyder(p)

poly2sym(Dp)

5.多项式拟合

多项式拟合的实现,一面可以由矩阵的除法求解超定方程来进行;

另一方面可调用函数polyfit来实现,调用方法如下:

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

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

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

;

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

Dy-y=x'

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

f=sym('

);

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

symsyu;

p=exp(y/u)

2符号表达式的运算

⑴提取分子、分母,例如

f=sym('

a*x^2/(b-x)'

[n,d]=numden(f)

3符号表达式的基本运算

4符号表达式的高级运算

符号表达式的复合函数运算通过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)

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

p=1.7071;

n=sym(p)

n=

17071/10000

4:

符号表达式的简化

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

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)

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

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

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

symsx;

f=sym(x^7-1);

f=factor(f)

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

d:

对符号表达式进行展开;

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:

符号微积分

符号极限;

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

符号微分

sym((x-1)^3)

符号积分;

symsualpha;

int(sin(alpha*u),alpha)

6:

符号方程求解

符号代数线性方程求解;

solve('

p*sin(x)=r'

solve('

a*x^2+b*x+c'

a'

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

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

绘制一个正弦函数图象

0.1:

2*pi;

plot(x,y)

在图形中绘制坐标网格

plot(x,y)

gridon

取消坐标中的网格

plot(x,y)

gridon

gridoff

x=0:

z=cos(x);

plot(x,y,x,z)

x=0:

plot(x,y,'

g:

diamond'

x,z,'

b'

axisequal

七、实验总结

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

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

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

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