当前位置:文档之家› MATLAB复习资料

MATLAB复习资料

MATLAB复习资料
MATLAB复习资料

10级MATLAB上机实验练习题

1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。

2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]?y=[0.82 0.72 0.63 0.60 0.55 0.50]?,我们可以简单的

认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。

3、解线性方程

4、通过测量得到一组数据:

5、已知一组测量值

6、从某一个过程中通过测量得到:

分别采用多项式和指数函数进行曲线拟合。

7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近

插值法,双线性插值法,二重三次方插值法)

8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的

颜色,线形和标识符。

9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。

X= 19.3 22.1 51.6

34.270.3 82.4

61.482.9 90.8

50.5 54.9 59.1

29.4 36.3 47.0

10、对应时间矢量t,测得一组矢量y

采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。

11、请创建如图所示的结构数组(9分)

12、创建如图所示的元胞数组。(9分)

13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。

14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。

time=[2.5 5.0 7.5 10.0 13.0 17.0 20.0 30.0 40.0 50.0 60.0 70.0]

res=[0.29 0.56 0.77 1.05 1.36 1.52 2.00 2.27 2.81 3.05 3.25 3.56]

15、请在-2

()2

2y

x

xe

z+

-

=形成的曲面网线图。

16、请在同一窗口画出两条曲线,y1=sin(x),y2=cos(x),要求添加网格线,x轴标注Independent Variable X,y轴标注Dependent Variable Y1&Y2,标注标题Sine and Cosine Curve,在(1.5,0.3)处标注cos(x),坐标轴设定在x轴[0,2Π],y轴[-0.9,0.9]。

实验答案

1、>> A=[2 3 4;5 4 1;1 3 2];

>> U=[1 2 3]';

>> X=A\U

X =

-0.8148

1.6667

-0.5926

2、

>> t=[0 0.3 0.8 1.1 1.6 2.3]';

>> y=[0.82 0.72 0.63 0.60 0.55 0.50]';

>> E=[ones(size(t)) exp(-t)];

>> C=E\y

C =

0.4760

0.3413

>> x=0:0.01:2.5;

>> z=0.4760+0.3413*exp(-x);

>> plot(t,y,'O',x,z,'r:')

3、

>> A=[3 1 0 5;0 -6 7 3;0 4 3 0;2 -1 2 6];

>> Y=[2 4 7 8]';

>> X=A\Y

X =

-4.8247

1.3944

0.4741

3.0159

4、

>> t=[1 2 3 4 5 6 7 8 9 10]';

>> y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]'; >> E1=[ones(size(t)) exp(-t)];

>> C=E1\y

C =

3.1621

5.1961

>> E2=[ones(size(t)) t.*exp(-t)];

>> D=E2\y

D =

3.0039

5.0046

>> x=1:0.01:10;

>> y1=3.1621+5.1961*exp(-x);

>> y2=3.0039+5.0046*x.*exp(-x);

>> plot(t,y,'O',x,y1,'r:',x,y2,'b-')

>> p1=polyfit(t,y,2)

p1 =

0.0411 -0.6383 5.3937

>> p2=polyfit(t,y,3)

p2 =

-0.0041 0.1085 -0.9493 5.7443 >> y3=polyval(p1,x);

>> y4=polyval(p2,x);

>> plot(t,y,'O',x,y3,'r:',x,y4,'b-')

12345678910

6、

>> t=[0 0.2 0.4 0.6 0.8 1.0 2.0 5.0]';

>> y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 -4.00]';

>> p=polyfit(t,y,4)

p =

-0.0993 0.7935 -2.2841 2.9882 0.9995

>> E=[ones(size(t)) exp(-t)];

>> C=E\y

C =

-0.0565

2.5674

>> x=0:0.001:5;

>> y1=-0.0565+2.5674*exp(-x);

>> y2=polyval(p,x);

>> plot(t,y,'O',x,y1,'r:',x,y2,'b-')

00.51 1.52 2.53 3.54 4.55

7、

?001 function compare_interp( )

?002 %COMPARE_INTERP 不同插值运算的比较

?003

?004 % 原始数据

?005 [x,y] = meshgrid(-3:1:3);

?006 z = peaks(x,y);

?007 figure(1); clf

?008 surfc(x,y,z);

?009 title('原始数据')

?010 % 进行插值运算

?011 [xi, yi] = meshgrid(-3:0.25:3);

?012 zi1 = interp2(x,y,z,xi,yi,'nearest');

?013 zi2 = interp2(x,y,z,xi,yi,'linear');

?014 zi3 = interp2(x,y,z,xi,yi,'cubic');

?015 zi4 = interp2(x,y,z,xi,yi,'spline');

?016 % 通过可视化结果比较

?017 figure(2)

?018 subplot(2,2,1);surf(xi,yi,zi1);

?019 title('二维插值- ''nearest''')

?020 subplot(2,2,2);surf(xi,yi,zi2);

?021 title('二维插值- ''linear''')

?022 subplot(2,2,3);surf(xi,yi,zi3)

?023 title('二维插值- ''cubic''')

?024 subplot(2,2,4);surf(xi,yi,zi4)

?025 title('二维插值- ''spline''') ?026 % 可视化结果

?027 figure(3)

?028 subplot(2,2,1);contour(xi,yi,zi1) ?029 title('二维插值- ''nearest''') ?030 subplot(2,2,2);contour(xi,yi,zi2) ?031 title('二维插值- ''linear''') ?032 subplot(2,2,3);contour(xi,yi,zi3) ?033 title('二维插值- ''cubic''') ?034 subplot(2,2,4);contour(xi,yi,zi4) ?035 title('二维插值- ''spline'''')

?

8、

>> x=-pi:pi/4:pi; >> y1=sin(x); >> y2=cos(x); >> y3=sinh(x); >> y4=cosh(x);

>>plot(x,y1,'rO:',x,y2,'b*-',x,y3,'gs--',x,y4,'k^-.')

9、

>> X=[19.3 22.1 51.6;34.2 70.3 82.4;61.4 82.9 90.8;50.5 54.9 59.1;29.4 39.3 47]; >> x=sum(X) x =

194.8000 269.5000 330.9000

>> explode=[0 0 1]; >> pie(x,explode)

-4

-3-2-101234

-15-10

-5

5

10

15

10、

>> t=[ 0 0.3 0.8 1.1 1.6 2.3]';

>> y=[0.5 0.82 1.14 1.25 1.35 1.40]'; >> E=[ones(size(t)) exp(-t) t.*exp(-t)] E =

1.0000 1.0000 0 1.0000 0.7408 0.2222 1.0000 0.4493 0.3595 1.0000 0.3329 0.3662 1.0000 0.2019 0.3230 1.0000 0.1003 0.2306

>> A=E\y A =

1.3974 -0.8988 0.4097

>> x=0:0.01:2.5;

>> Y=1.3974-0.8988*exp(-x)+0.4097*x.*exp(-x); >> plot(t,y,'O',x,Y ,'r-')

42%

00.51 1.52 2.5

11、

A=struct('name',{'江明顺','于越忠','邓拓'},'NO',{'071023','060134','050839'});

A(1).level=struct('height','176','weight','82')

A =

1x3 struct array with fields:

name

NO

level

>> A(2).level=struct('height','168','weight','74')

A =

1x3 struct array with fields:

name

NO

level

>> A(3).level=struct('height','182','weight','77')

A =

1x3 struct array with fields:

NO

level

12、

>> B=cell(1,2);

>> B{1,1}=struct('date','2007/06/04','billing',[125.7 389.3;254.9 538.5])

B =

[1x1 struct] []

>> B{1,2}=struct('name','maggie','profession','teacher','hobby','dance')

B =

[1x1 struct] [1x1 struct]

>> cellplot(B)

13、

>> year = 1990:2:2010;

>> product = [75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633 256.344];

>>p1999 = interp1(year,product,1999,?spline?)

>>x = 1990:1:2010;

>>y = interp1(year,product,x,'spline');

>>plot(year,product,'*',x,y)

14、

>>X=[2.5 5.0 7.5 10.0 13.0 17.0 20.0 30.0 40.0 50.0 60.0 70.0];

>>Y=[0.29 0.56 0.77 1.05 1.36 1.52 2.00 2.27 2.81 3.05 3.25 3.56];(

>>P=polyfit(X, Y, 3);

>>x=2.5:0.1:70;

>>y=polyval(P,x)

>>plot(X,Y,?O?,x,y)

>>gird on

15、

>>clear

>>x=-2:0.2:2;

>>y=-2:0.2:2;

>> [X,Y]=meshgrid(x,y);

>>Z=X.*exp(-X.^2-Y.^2);

>>mesh(X,Y,Z)

16、

》x=0:pi/10:2*pi;

》y1=sin(x);

》plot(x,y1,x,y2) ;

》grid on

》xlabel(…Independent Variable X?);

》ylabel(…Dependent Variable Y1&Y2?);

》title(…Sine and Cosine Curve?)

》text(1.5,0.3,?cos(x)?);

》axis([0 2*pi -0.9 0.9])

复习要点

矩阵产生和操作

一.diag对角矩阵和矩阵的对角化

1.x=diag(v)产生v的元素处于主对角线的对角方阵,v为n元向量。

x=diag([1 2 3]) x= 1 0 0

0 2 0

0 0 3

2.x=diag(v,k) k表示v的元素处在第k条对角线上

k=0 主对角线y=diag([1 2 3],1)

k>0 主对角线上y= 0 1 0 0

k<0 主对角线下0 0 2 0

. 0 0 0 3

. 0 0 0 0

3.v=diag(x,k) x为矩阵,v为列向量,x的第k条对角线上的元素

z= 9 4 4 v=diag(z) v=diag(z,-1)

2 8 0 9

6 7 8 v= 8 v= 2

8 7

二. reshape 阵列重新排列

B=reshape(A,m,n)把A重新排成m×n的矩阵B

△矩阵元素是按列存储的

A=9 6 8 4 D=reshape(A,4,2) D= 9 8

2 4 7 0 2 7

6 4

4 0

三. rot 90 矩阵旋转90o(反时针)

rot 90(A,k) 将A反时针旋转k*90o

A= 5 3 7 B1=rot 90(A) 区别于A' B2=A'

7 2 3 B1= 7 3 5 B2= 5 7 4

4 2

5 3 2 2 3 2 2

5 7 4 7 3 5

B3=rot 90(A,3) B3= 4 7 5

2 2 3

5 3 7

四. fliplr 左右翻转---列

A= 9 6 8 4 B=fliplr(A)

2 4 7 0 B=4 8 6 9

0 7 4 2

五. flipud 上下翻转---行

B=flipud(A) B= 2 4 7 0

9 6 8 4

六. tril 下三角阵

L=tril(x,k) B1=tril(A,1)

A=9 6 8 4 B1=9 6 0 0

2 4 7 0 2 4 7 0

七. triu 上三角阵

L=triu(x,k)

B2=triu(A,1) B2=0 6 8 4

0 0 7 0

八. cat 阵列连接C=cat(dim,A,B)

将A,B在dim维连接起来

G=cat(1,B1,B2) G= 9 6 0 0

2 4 7 0

0 6 8 4

0 0 7 0

九. repmat复制并平铺阵列

1. B=repmat(A,m,n) A为矩阵,将A平铺成m×n格式

A=[1 2;3 4] B=repmat(A,2,3) B= A A A

A A A

2. B=repmat(A,2,3) A为标量B=repmat(5,2,3) B= 5 5 5

5 5 5 十.Meshigrid

[X,Y]= meshgrid (1:4,1:4)

X=

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

Y=

1 1 1 1

2 2 2 2

3 3 3 3

4 4 4 4

矩阵逻辑运算

1.all—矩阵所有元素是否非零

有1个或多个0→0

A为向量

All(A)

A为矩阵—按列

a=[1 2;0 4] b=au(0) b=0 1

2.any—测试任意非零值

只要有不是0→1

B=any(A)

所有都为0→0

a=[1 2 0;4 0 0;0 5 0] any(a) ans=1 1 0

3.find—查找非零元素的值和下标k=find(x)—阵列中

[i,j]=find(x)—矩阵中[i,j,v]=find(x)—v为值,可得

v值的列

a=zeros(5,20);

a(3,7)=0.5; i = 3 j = 7 v= 0.5000

a(4,15)=-0.4; 4 15 -0.4000

[i,j,v]=find(a);

4.exist:检查给定变量或文件是否存在

a=exist('item')

ident=exist('item',kind)

5.is* 检测状态

A=one(3,3); s='ad3fi'

A(:,:)=[ ]; isletter

isempty(A); ans= 1 1 0 1 1

ans=1

6.logical—数值转变成逻辑值

logical(A) 返回能够用于逻辑索引或逻辑测试的数组。

A=logical(eye(3))

A = 1 0 0 B=rand(3)

B = 0.4447 0.9218 0.4057

0 1 0 0.6154 0.7382 0.9355

0 0 1 0.7919 0.1763 0.9169 B(A)

ans= 0.4447

0.7382

0.9109

字符串部分

字符串的比较

三种情况:

1.比较两个字符串或两个字符串的一部分是否相等

2.逐个比较两个字符串中的字符,判别是否相等

3.对字符串中的每一个元素进行分类判别是字符还是空格

一.比较两个字符串strcmp

strcmp 判别两个字符串是否相等

strncmp 判别两个字符的前n个字符是否相等。Strncmp

Eg: str1=…hello?

str2=…help?

strcmp(str1,str2)

ans=0

strcmp(str1,str2,3)

ans=1

这两个函数还可以比较两个字符串的单元数组。

Eg: A={…pizza?; …chips?; …candy?; …cake?; …beer?};

B={…pizza?; …chololate?; …pretzels?; …beef?; …beer?};

strcmp(A,B) strcmp(A,B,1) strncmp(A,B,4)

ans= 1 ans = 1 ans =1

0 1 0

0 0 0

0 0 0

1 . 1 1

二.用运算符比较字符串

“= =”比较两个字符串中对应字符是否相同

A=…fate?;

B=…cake?;

A= =B

ans=0 1 0 1

“~=”表示不等于

A~=B

ans=1 0 1 0

三.字符串中字符的分类

isletter 是否为字母isspace 是否为空格或制表符

mystring=…Room 401?;

A=isletter(mystring);

A=1 1 1 1 0 0 0 0

B=isspace(mystring)

B=0 0 0 0 1 0 0 0

对二维数组也可以

Eg:A=[…1 2A?; ?13 B?];

L=isletter(A) S=isspace(A)

L= 0 0 0 1 S = 0 1 0 0

0 0 0 1 0 0 1 0

对单元矩阵形式的字符串,不能直接应用这两个函数。但可以对指定的单元进行判别。Eg:strcell={…pi za?; …chi s?; …can y?; …cake?; … er?};

LL=isletter(strcell{1});

LL=1 1 0 1 1

SS=isspace(strcell{2})

SS=0 0 0 1 0

字符串的查找与替换

一.strrep可实现标准的查找与替换。

Eg:label=…sample 1,10/28/95?;

newlabel=strrep(label, …10/28/95?, …12/20/1999?);

newlabel=sample 1,12/20/1999

二.findstr用于在字符串中查找指定的子串

找到一个子串返回开始位置

找到多个子串用一个矢量指出它们的位置

没找到返回[ ]

Eg:position=findstr(…1?,newlabel);

position= 8 11 17

position=find(…wa?,newlabel);

position=[ ]

三.strtok先在字符串中查找分隔字符(如空格,…/?,制表符等),然后返回第1个分隔符前的子串。

Eg:first=strtok(label);

first=sample

first=strtok(label, …1?)

first=sample 1,10

知识要点

MATLAB的特点

1.以复数矩阵作为基本编程单元,使操作变得轻而易举,矩阵不需定义。

2.语句简单,编程效率高,用数学语言编写比C,Basic,Fortran更加接近人们书写计算公式的思维方式。MATLAB俗称演算纸式科学算法语言。

3.语句功能强大,相当于其它高级语言中的几十条,几百条语句。

4.丰富的绘图功能:线性坐标、对数坐标、极坐标,只须调用不同的绘图函数命令。

5.提供许多面向应用问题求解的工具箱函数。

6.易扩展性。

MATLAB系统中Simulink和Stateflow两个重要部件

Simulink是基于MA TLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模。Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATLAB 紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。

显示,清除变量

who,whos显示变量列表。whos还可以列出变量的大小及数据类型。

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

clear+变量名----只清除指定变量。

保存和恢复工作空间

1.保存工作空间save把工作空间保存在二进制MA T文件中(整个内容)

(1) save worksp1 把当前工作空间保存在worksp1.mat文件中。

(2) save worksp2 mydata1 mydata2 仅保存mydata1,mydata2两个变量到worksp2.mat文件中。

(3) File---save workspace As。

加载(恢复)工作空间

load worksp1当前工作空间与加载的工作空间具有相同的变量后,加载的变量自动覆盖与原工作空间同名的变量。

diary指令

diary指令的功能是创建一个日志文件,在这个文件中,能够把所有在MATLAB命令行键入的指令以及在命令行窗口的输入保存下来。这个日志文件为纯文本格式,可以利用任何一种文本编辑器编辑这个文件。在使用diary指令时,若不指定文件名,则MATLAB自动创建一个默认文件名diary(注意,该文件没有扩展名,为纯文本文件)的日志文件,并且进入到历史日志记录状态。在日志文件中将记录所有在命令行窗口中键入的指令以及这些指令运行的结果。注意,diary记录指令的功能也仅在执行diary指令之后的MATLAB会话中有效,一旦关闭了MATLAB再次启动时,则diary指令需要重新键入。

工作路径

MATLAB的工作路径就是当前的路径,MATLAB启动时采用默认的路径作为当前工作路径,这样所有的MATLAB文件保存和读取都将从该路径下开始。在Windows平台下,MATLAB提供了一个路径:$matlabroot\work,在MATLAB首次启动时,就会使用该路径作为当前的工作路径。

变量的特点

新变量:自动建立变量并分配存储空间。

旧变量:更新其内容,有必要时重新分配存储空间。

变量的构成

字母、数字和下划线。以字母开头,最长为63个字符,区分大小写。

矩阵元素的访问

访问矩阵的元素也需要使用矩阵元素的索引,不过具有两种方式:

第一种方式是使用矩阵元素的行列全下标形式;

第二种方法是使用矩阵元素的单下标形式。

逻辑数据类型

所谓逻辑数据类型就是仅具有两个数值的一种数据类型,其中,一个数值为TRUE,另外一个数值为FALSE。在MATLAB中,参与逻辑运算或者关系运算的并不一定必须有逻辑类型的数据,任何数值都可以参与逻辑运算。这时,MA TLAB将所有非零值看作逻辑真,将零值看作逻辑假。一般地,1表示逻辑真,0表示逻辑假。

脚本文件

脚本文件是一种简单的M文件,它没有输入输出,可以是一系列在命令行中执行的命令的集合,仅可以操作工作空间中的变量或程序中新建的变量。

函数的程序结构

一. 函数定义行

function y= mean(x)

关键字变量函数名

function[x,y,z]=sphere(theta,phi,rho)

M文件中包含一个函数,并确定调用的参数及次序。

二. H1行(帮助文本的首行)

函数定义后的第一行注释语句可用help function_name命令显示,也可以用lookfor命令搜索其中字符。

三. 帮助文本

以%开头,详细说明这一函数,H1行之后到函数体之前的注释,帮助文本,可用help function_name 命令显示。

四. 函数体

完成指定功能的语句实体,包含所有计算和为输出参数赋值的代码。

[m,n]=size(x);

if(~(m= =1)|(n= =1)|(c= =1&n= =1))

error(…Input must be a vector?)

end

y=sum(x)/length(x)

五. 注释

%开头在行尾结束

H1行与帮助文本都可以用help命令查看,其它注释都不可以用help查看。

函数文件去掉其第一行的定义行就转变成了脚本文件带来几个问题

基本工作空间中与脚本文件中同名的变量会引起冲突。

使基本工作空间中变量数急剧增加,造成内存紧张。

编程时要细心考虑各个脚本文件所用到的变量。

创建字符串

创建字符串时,只要将字符串的内容用单引号包含起来就可以了,若需要在字符串内容中包含单引号,则需要在键入字符串内容时,连续键入两个单引号即可。

元胞数组

元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看成作为一种无所不包的通用矩阵,或者叫作广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。元胞数组的维数不受限制,元胞数组可以是一维的、二维的,甚至也可以是多维的。访问元胞数组的元素可以使用单下标或者全下标方式。胞数组可以是实数组或复数组,也可以是字符型数组和结构数组,可以是二维的,也可以是多维的。

结构

结构是包含一组记录的数据类型,而记录则存储在相应的字段中,结构的字段可以是任意一种MATLAB数据类型的变量或者对象。结构类型的变量可以是一维的、二维的或者多维的数据,不过,在访问结构类型数据的元素时,需要使用下标配合字段的形式。

知识点

1、MATLAB中使用行矢量表示多项式的系数,行矢量中的各元素按照多项式的项的次数从高到低排列。

2、私有函数在MATLAB中是指位于特定子目录private下的函数,私有函数仅可被父目录中函数调用,

其他目录中可以存在同名的私有函数。

3、save命令可将工作空间中的所有变量以二进制的格式保存到matlab.mat文件中,这些变量可由load命

令重新装入;save filename可保存到指定的filename.mat文件中。

4、在MA TLAB中,参与逻辑运算或者关系运算的并不一定必须有逻辑类型的数据,任何数值都可以参与

逻辑运算。这时,MA TLAB将所有非零值看作逻辑真,将零值看作逻辑假。一般地,1表示逻辑真,0表示逻辑假。

5、给图形创建文本注释的时候可以将文本注释首先保存在元胞数组中,然后使用text函数完成向图形窗

体添加文本注释的工作。

6、条形图和区域图用于显示矢量或矩阵中的数据,这两种类型的图表常用于观察周期性的结果,比较不

同数据组的结果。

7、矩阵为m行n列,利用bar函数进行绘图,将绘制m组条形图,每组有n条垂直的条形图。

8、who指令显示变量列表。Whos指令除了显示变量还可以列出变量的大小及数据类型,clear指令可以

清除工作空间中的所有变量。

9、利用load指令加载工作空间时,当前工作空间与加载的工作空间具有相同的变量后,加载的变量自动

覆盖与原工作空间同名的变量。

10、diary指令的功能是创建一个日志文件,在这个文件中,能够把所有在MATLAB命令行键入的指

令以及在命令行窗口的输入保存下来。这个日志文件为纯文本格式,可以利用任何一种文本编辑器编辑这个文件。

11、MATLAB的工作路径就是当前的路径,MATLAB启动时采用默认的路径作为当前工作路径,这

样所有的MATLAB文件保存和读取都将从该路径下开始。

12、对变量的命名有相应的要求:变量必须以字母开头,后面可以是字母、数字或者下划线的组合。

13、访问向量的元素直接给出元素在向量中的序号,元素的序号不仅可以是单一的整数,还可以是元

素序号组成的向量,关键字end在访问向量元素时,表示向量中最后一个元素的序号。

14、所谓逻辑数据类型就是仅具有两个数值的一种数据类型,其中,一个数值为TRUE,另外一个数

值为FALSE。

15、创建字符串时,只要将字符串的内容用单引号包含起来就可以了,若需要在字符串内容中包含单

引号,则需要在键入字符串内容时,连续键入两个单引号即可。

16、组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺

寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞。

17、在利用赋值法创建元胞数组时,大括号用于表示单元的内容,圆括号用于表示指定的单元。

18、结构是包含一组记录的数据类型,而记录则存储在相应的字段中,可以是任意一种MATLAB数

据类型的变量或者对象。

19、、在着色方式中Shading flat使得每个网格线的线断和面都有一个恒定的颜色,Shading faceted使

得每个网格内部用同一颜色着色,网格线颜色不变并以黑色突出显示。

20、在MA TLAB绘图中hidden on 能够实现图形消隐hidden off能够实现图形透视。

21、一维多项式插值的基本格式为yi=interp1(x,y,xi,method) xi表示插值的点,method表示插值的方

法,为字符串类型。

22、在一维插值算法中,nearest是最快的而又最节省资源的一种算法,而三次插值或者样条插值运算

则需要消耗较多的系统资源,所以请用户根据需要选择合适的插值算法。

matlab通信系统仿真

通信系统基于(15,11)汉明编码的matlab仿真 clear m=4; n=2^m-1; k=11; msg1=randint(1,6000*k,[0,1])%产生信息序列 code0=vec2mat(msg1,k); code1=encode(msg1,n,k,'hamming/binary');%进行汉明纠错编码 code2=reshape(code1,90,1000)'; code3=zeros(1000,90);%设置零矩阵,以便储存交织后的序列 for i=1:1000 temp=code2(i,:); temp1=reshape(temp,15,6);%按15*6交织 code3(i,:)=reshape(temp1',1,90); end [row,cloums]=size(code3); code4=code3'; [row1,cloums1]=size(code4); code5=reshape(code4,6,15000)'; %将交织后的序列转换为6行,15000列矩阵msg2=zeros(15000,6); for j=2:6, msg2(:,j)=xor(code5(:,j),code5(:,(j-1))); end msg2(:,1)=code5(:,1);%此时得到的msg2为gray映射后的信号序列 code8=msg2';%转置,便于比特符号转换 A=[32,16,8,4,2,1]; %为比特符合转换所设的序列 msg3=A*code8;%生成符号序列 msg4=qammod(msg3,64);%将符号序列进行64QAM调制 [row2,cloums2]=size(msg4); dB=0:1:20; for k=1:length(dB), snr=10.^(dB(k)./10); %信噪比 sgma=sqrt(63./(6*snr));%标准差 b1=real(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声 b2=imag(msg4)+sgma*randn(row2,cloums2);%分路叠加噪声 rx=complex(b1,b2); %————————量化判决——————————% for m=1:row2, for n=1:cloums2, if ((b1(m,n)<-6)) b11(m,n)=-7;

使用Matlab需要掌握的一些知识点

1.滤波:medfilt1,smooth,filter,无法解决数据NAN污染周边数据 2.aa([1,3],:) = aa([3,1],:); 可以交换行与行之间的数据 3.用一下整体乘法,提高计算效率 4.2019.10.4纠错:程序进入循环出不来,原因是小循环中的条件计算程 序参数与大循环参数冲突 5.[SNR,I] = min(Data_Ze,[],1,'omitnan'); %排除每一列中的NAN, 求每一列中的最小值,SNR为每列的最小值,I为每列最小值的下标 6.ncdisp()可以充分地体现nc文件的方方面面的信息 7.命令行窗口显示信息: X = ['仰角',num2str(elevtation_number), '下的ML总点数:']; % 命令窗口要显示的信息 disp(X); 8.弹出提示框显示信息 msgbox('中间数据图像显示完毕!','温馨提示','modal'); errordlg('参数超出范围或者参数输入不足,请重新配置!', 'Warning'); 9.在图中标记数据 str=[ num2str(r') 'km']; 显示的文本 text(x,y,cellstr(str)); (x,y)要显示的位置 10.标记图中线条内容 l = legend('温度廓线','露点温度廓线'); %标注线条代表内容 title(l,'线条表示内容'); %线条标题 11.matlab求和取均值以及计算标准差的时 数据有nan使用下面三个特定的函数(nansum,nanmean,nanstd)12.Matlab 简化运算 ZH_Data1=mod((ZH_Data0+33)*2,256)*0.5-33; ZH_Data1(ZH_Data1==-33)=NaN; ZH_Data=ZH_Data1(1:1192,:,1); 13.完成仰角方位距离三维元素位置的转换 permute(ZH_data,[3,2,1]); 14.shading阴影函数 控制曲面和图形对象的颜色着色,即用来处理色彩效果的,包括以下三种形式: shading faceted:默认模式,在曲面或图形对象上叠加黑色的网格线; shading flat:是在shading faceted的基础上去掉图上的网格线;

matlab中GUI设计

MATLAB的GUI 程序设计 Chapter 8: Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。 基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一. 控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 控件对象及其功能:(表7—1) 2. 控件对象的描述(Description of controller object) MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。

每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 (1)按钮(Push Buttons):执行某种预定的功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; (5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作; (6)静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7)滚动条(Slider):可输入指定范围的数量值;

《Matlab语言》期末考试试题样例

一、填空题:(每空2分)大约20空 (注:写出完成要求所需的命令语句或题目给定语句执行后输出的 结果) 1. Matlab 中用来表示不确定值的变量是 NaN ;默认变量i 表示 虚数单位 。 2. Matlab 中符号 ; (分号) 可以使命令行不显示运行的结果,表示该行为注释行的符号为 % (百分号) 。 3. Matlab 将工作空间所有变量保存在默认目录下的命令是 Save 。(命令复习) 4. 骰子会掷出1到6的随机数字,用函数rand 和取整函数(Important)模拟骰子某次投掷出的数字的命令为 ceil(6*rand) ,模拟两 个骰子某次投掷的数字组合之和情况的命令为 。 5. 生成一个含有10个元素的行向量x ,其元素在[-1,1]之间均匀分布的的命令为 x=2*rand(1,10)-1 ,使用向量x 的后5个元素作为对角线 元素生成对角阵A 的命令为 A=diag(x(end-4:end)) ,将A 的主对 角线下方的元素(不含主对角线)全部填充为2014的命令为 B=ones(5); 2014*B-triu(B)+A 6. 为函数22 110at t x +=分布定义内联函数命令是 ,定义匿名函数的命令是 7. 在循环结构中使用 break 语句可以终止当前循环。 8. Matlab 用于绘制统计直方图的命令是 hist ;用于绘制y 轴为对数坐标的单对数坐标图的命令为 semilog 。

二、解答题:大约七道题目 1. 在[0,π2]区间上绘制如下图所示的sin(x)与sin(x 2)的曲线,并如图为图像添加标题以及为坐标轴添加标注。 2.绘制上面曲面的图形(提示:该曲面由上下两部分组成:) 3.创建命令式的M 文件计算圆形的面积S ,提示用户输入圆形的半径r ,并输出圆形的面积。(注意输入输出都要对用户添加一定的提示语) %Function Circle 4.请利用matlab 的符号工具箱做下面的运算,并写出相应的命令。 (1) 求极限x e x L x x -+=→10)1(lim ; (2)求积分:dx x x ?∞+02sin ; Syms x; f=((1+x)^(1/x)-exp(1)/x; limit(f,x,0) 2222, [2,2], [1,1]z x y x y =+∈-∈-

MATLAB复习知识点汇总

MATLAB 复习 1、实现符号函数 运算功能的函数m 文件为: function y=sgn(x) if x<0 y1=-1; elseif x==0 y1=0; else y1=1; end y=y1; 2、求满足1+2+3+…n<100的最大正整数n 的MATLAB 程序为: sum=0;n=0; while sum<100 n=n+1; sum=sum+n; end 1,0,sgn()0,0, 1,0x y x x x >?? ===??-

sum=sum-n; n=n-1; n,sum 3、m文件有两种形式,一种称为命令文件(Script File),另一种称为函数文件(Function File),两种文件的扩展名都是m。 4、反馈控制系统品质要求:稳定性、准确性、快速性 5、按不同系统的特征方程式,可将自动控制系统分为线性系统和非线性系统。 6、MATLAB控制相关的工具箱 (1)控制系统工具箱 (2)系统辨识工具箱 (3)模型预测控制工具箱 (4)鲁棒控制工具箱 (5)神经网络工具箱 7、MATLAB系统的构成 (1)开发环境(2)数学函数库(3)MATLAB语言(4)图形处理系统(5)应用程序接口 8、常用工具箱 (1)控制类工具箱(2)应用数学类工具箱(3)信号处理类工具箱(4)其他常用工具箱 9、MATLAB语句形式:>>变量=表达式 10、MATLAB常用命令 quit 关闭MATLAB

exit 关闭MATLAB clc 清除MATLAB 命令窗口中的所有显示内容 clear 清除工作空间中保存的所有变量 11、MATLAB 基本数据类型:双精度数组、字符串数组、元胞数组、结构数组 12、矩阵的创建 (1)直接输入法(2)通过数据文件创建矩阵(3)通过m 文件创建矩阵(4)通过函数创建矩阵(5)冒号法 13、冒号法 [1]冒号法构造向量 冒号表达式的一般格式为:向量名=初值:步长:终值 [2]冒号法构造矩阵 一般格式为: A(:,j ):表示矩阵A 的第j 列; A(i ,:):表示矩阵A 的第i 行。 A(i,j)表示取矩阵A 的第i 行第j 列交叉位置的元素 14、矩阵的运算 /(矩阵的右除)或\(矩阵的左除) A -1=inv(A) 矩阵的逆 15、求下面方程组的根 1231231 2323532255316 x x x x x x x x x +-=?? -+=??--=?

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

Matlab 期末考试题库(共12套卷)

第一套 华东交通大学2015-2016学年第一学期Matlab期末考试 一、填空题(4*6=24分) 1、在MATLAB命令窗口中的“>>”标志为MATLAB的提示符,“│”标志为提示符。 2、符号表达式sin(2*a+t)+m 中独立的符号变量为__ _。 3、在通常情况下,左除x=a\b是的解,右除x=b/a是的解,一般情况下,。 4、为了使两个plot的图形在同一个坐标显示,可以使用_____命令进行图形保持;可以使用_ __命令为图形添加网格。 5、倘若要是对x进行赋值,从5到25,间隔是0.1,为;倘若要是对x进行赋值,从2到20,中间间隔100个点,为 6、A=[1,2;3,4];B=[1,0;0,1]; A*B= _ , A.*B=_ _; 二、选择题(4*6=24分) 7、如果x=1: 2 : 8,则x(1)和x(4)分别是( ) A.1,8 B.1, 7 C.2, 8 D.2, 7 8、运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( ) c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end A. 9 B. 8 C. 7 D. 6 9、MATLAB表达式2*2^3^2的结果是() A.128 B.4096 C. 262144 D.256 10、在循环结构中跳出循环,执行循环后面代码的命令为( ) (A) return (B) break (C) continue (D) keyboard 11、在图形指定位置加标注命令是() A. title(x,y,?y=sin(x)?); B. xlabel(x,y,?y=sin(x)?); C. text(x,y,?y=sin(x)?); D. legend(x,y,?y=sin(x)?); 12、下列哪个变量的定义是不合法的()。 (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 三、程序题(52分) 13(10分)、在同一窗口绘制6个子图,已知t=0.1:0.1:2*pi,每个子图分别绘制(其中y1=sin(t),y2=cos(2t),y3=sin(t)+cos(t),y4=3t, y5=2ln(t),y6=et); 14(10分)、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣

MATLAB学习知识重点

1,计算矩阵的特征值和特征向量 【V,D 】=eig (A ) 其中A 指的是矩阵 V 指的是特征向量组成的矩阵 D 指的是特征值所组成的矩阵 A=[0 1 0;1 0 1;0 1 0]; >> [V,D]=eig(A) V = 0.5000 -0.7071 0.5000 -0.7071 0.0000 0.7071 0.5000 0.7071 0.5000 D = -1.4142 0 0 0 -0.0000 0 0 0 1.4142 2,求线性方程的解 1231231232314354578950x x x x x x x x x ++=-+=++= 这是一个非齐次方程方程,对于线性代数来讲,很难求解,但是利用MATLAB 来求 A=[1 2 3;3 -5 4;7 8 9]; 1 B=[14 5 50]; 2 x=A\B 3 B=[14;5;50]; 4 这4个语句的区别,特别是2.3两句的区别,2语句中B 表示的是1行3列,但是4语句中的表示的3行1列。 同时,X=A\B 很X=A/B 也是很有能区别的,具体的区别如下: X=A\B 表示的是A*X=B 的解 X=A/B 表示的是X*A=B 的解,在这里,具体解释如下;A*X=B ,

在线性代数中,X=A^(-1)B ,所以X=A\B。X*A=B的解为X=BA^(-1),就是X=B/A。 3,一元方程求根 这个在计算中是个难题,一元多次方程式很难求解的,对于纯粹的手工计算来说,所以有MATLAB比较方便,具体语句如下:()23 1.350.6680.4360.69552 =+++ f x x x x P=[0.69552 0.436 0.668 1.35]; >> X=roots(P) X = 0.2817 + 1.2456i 0.2817 - 1.2456i -1.1902 + 0.0000i 对于这个方程来说,要注意的是,在构成向量时,一定要从告辞往低次排列,中间缺少次数的,用0代替,求解语句是roots(P)。4,图形处理功能 A, 可以绘制函数图像,具体的语句如下: >> x=linspace(0,6); 这个表示X轴,在0到6内取100个点,这是默认的数值100。当然还有可以设定数值的方法linspace(0,6,100)表示的是在0到6内取等间隔取100个点。 >> y1=sin(2.*x); >> plot(x,y1)这是绘制函数sin(2X)的图像,在这里要注意的,

MATLAB与系统仿真

学习中心/函授站_ 成都学习中心 姓名赵洪学号7020140122093 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1? ×25=25?) 1、Matlab的全称为矩阵实验室。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:菜单栏、 工具栏、当前工作目录窗口、工作空间管理窗口和命令窗口。 4、在Matlab中inf表示:无穷大;clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlad内存变量名;whos表示:列出当前工作空间所有变量。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:没有指定输出变量名;eps表示:系统精度 ;nargin表示:函数输入参数的个数。 8、Matlab提供了两种方法进行程序分析和优化,分别为:通过Profiler工具优化和通过tic和toc函数进行优化。 9、建立结构数组或转换结构数组的函数为:struct ; 实现Fourier变换在Matlab中的对应函数为:fourier() ;Laplace变换的函数:Laplace() 。

MATLAB复习题.doc

MATLAB期末考试题目 ------电气二班 一.选择题。 1.下列哪个变量的定义是不合法的(A) A. abcd-3 B. xyz_3 C. abcdef D. x3yz 2.在同一个图形窗口中画出三行两列的图形并指定当前可编辑图形为第3个图 的正确的 MATLAB命令是: A.subplot(3,2,1)B subplot(3,3,) C.subplot(3,2,3 ) D.subplot(1,3,2) 3.x=[1234],y=[1111],x.*y的结果是:(B) A.1234 B.出错信息 C.4 3 2 1 D.1111 4.角度x=[30 45 60],计算其正弦函数的运算为(D) A. sin(deg2rad(x)) B. sin(x) C. sin(x) D. sin(deg2rad(x)) 5.i=2;a=2i;b=2*i;c=2*sqrt(-1);执行程序后,a,b,c的值分别是多少?(C) A.a=4,b=2,c=2.0000i B.a=4,b=2.0000i,c=2.0000i C.a=2.0000i,b=4,c=2.0000i D.a=2.0000i,b=2.0000i,c=2.0000i 6. legend()命令是(A) A.在图中标注“图例” B..在图中加上网格线C.在图中加上标题 D.打印图形 7.命令plot(x,y,′m:*′),其中字符串“m:o”中,第一个字符“m”(A) A. 表示曲线为m符号构成的线 B. 表示曲线颜色为紫色 C. 表示曲线x坐标的最大值为m变量的值 D. 表示曲线y坐标的最大值为m变量的值 8. 下列可作为matlab合法变量名的是(D) A、合计 B、123 C、@h D、xyz_2a 9. 使用语句t=0:7生成的是()个元素向量(A) A、8 B、7 C、6 D、5 10. 输入字符串或选项时,要用(D)括住 A、() B、【】 C、{} D、‘’ 11 . 清空 Matlab 工作空间内所有变量的指令是(A)。 A.clc B. cls C.clear D. clf

中国科学院大学_张敏洪_matlab知识点整理_第二章MATLAB 语言程序设计基础

第二章MATLAB 语言程序设计基础 ——MATLAB 通用命令-3 ——MATLAB 的保留常量,运算符号-10 ——符号变量声明syms var_list var_props-14 ——符号型数值可采用变精度函数求值vpa(A), 或vpa (A,n)-15 ——冒号表达式v=s1:s2:s3该函数生成一个行向量v,其中s1是起始值,s2是步长(若省略步长为1),s3是最大值-18 ——子矩阵提取B=A(v1,v2) v1、v2分别表示提取行(列)号构成的向量。(逗号)-20 ——矩阵翻转-25 ——数学运算符号及标点符号,乘除法,左除右除,乘方-27 ——矩阵的逻辑运算-35 ——矩阵的比较运算>, >=, <, <=, ==,~=, find(), all(), any() -36 ——解析结果的化简与变换s1=simple(s) collect( ) 合并同类项 expand( ) 展开多项式 factor( ) 因式分解 numden( ) 提取多项式的分子和分母 sincos( ) 三角函数的化简-38 ——变量替换-41 ——基本数论运算---下取整、上取整、四舍五入、离0近方向取整、最简有理数、求模的余数、最大公约数、最小公倍数、质因数分解、判定是否为质数-42 ——2.4 MATLAB 语言流程控制-47 ——nargin,nargout 分别表示输入和返回变量的实际个数 varargin, varargout 输入、输出变量列表(可变输入输出个数) ——2.5.2 可变输入输出个数conv( ) 可以计算两个多项式的积-65 ——2.6 二维图形绘制-68 ——图形元素属性获取与修改-74 ——2.6.2 其他二维图形绘制语句-76 ——2.6.3 隐函数绘制及应用-80 ——2.7.1 三维曲线绘制-81 ——2.7.2 三维曲面绘制-83

MATLABsimulink系统仿真分析仿真报告

仿真报告 课程名称:自动化技术导论 报告题目:MATLAB/simulink系统仿真分析 班级 姓名 学号 xxxxxx自动化学院 2016年4月 软件版本:MATLAB R2010b MATLAB强处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 MATLAB图形处理 MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。MATLAB程序接口

2010matlab复习提纲

2010—2011数值计算与MATLAB复习提纲 考试知识点 第二章 1)变量的命名规则 2)常用预定义变量:ans、eps、pi、i、j、inf、Inf、NaN、nan 3)内存变量文件的生成与加载:save / load 4)常用数学函数:sin、cos、sqrt、log、log10、log2、exp、pow2、abs、rem、 mod、fix、floor、ceil、round 5)矩阵的建立:直接输入法, 利用冒号表达式建立一个向量、linspace的含义与用法、 建立大矩阵 a)熟练掌握书本相关例题 6)矩阵的拆分:矩阵元素,size()\length(),矩阵拆分,利用空矩阵删除矩阵的元素 a)熟练掌握书本相关例题 7)特殊矩阵: zeros/ones/eye/rand/randn/zeros(size(A)) a)给定区间内的随机矩阵的建立 b)给定均值和方差的正态分布随机矩阵的建立 c)熟练掌握相关例题P26,2-4 8)Matlab运算: a)算术运算:+、-、*、/、\、^、点运算 b)关系运算:P32页6种关系运算符、关系运算德运算法则、相关例题 c)逻辑运算P33页3种逻辑运算符& | ~ 逻辑运算德运算法则、相关例题 d)运算优先级:算术> 关系> 逻辑 e)find()函数 9)对角阵与三角阵:diag()、triu()、tril() 10)矩阵的转置与旋转:rot90() 11)矩阵的逆、方阵的行列式:inv()、det() 12)字符串 ?本章相关的上机习题 第三章 matlab程序设计 1)命令文件与函数文件的区别:参数、变量、调用方式 2)程序的顺序结构,input函数及其应用、disp函数及其应用、程序的暂停 3)选择结构if语句,switch语句 4)循环结构for语句,while语句,break语句,continue语句、循环的嵌套P66, 3-8,3-9,3-10 5)函数文件:函数的定义,函数的调用(包括函数的递归调用)P70-71,3-15,3-16 6)全局变量与局部变量的用法:P72,3-18 ?本章相关的例题和布置的上机习题

《MATLAB程序设计》复习资料

Matlab 习题及复习要点 1. Matlab 的英文组成;程序和变量的命名规则; 在MATLAB 语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。 2.Matlab 中注释、关键词等的显示颜色;如何设置当前路径、如何设置搜索路径(例如第一次上机练习过的,新建的“D:\temp ”目录中有脚本文件abc.m ,若要能在命令窗口输入abc 执行则..); 3.熟悉Matlab 中的几种数据类型(int8、double 、logical 等); 4.在MATLAB 中计算数学公式(如三角函数、对数、开根号等)的表达; 5.掌握数组的几个操作(裁剪、扩增、eye 、zeros 等)、对角阵指令、均匀分布随即向量指令;数组中行和列的分隔符; 6. 在循环结构中的几个命令:break 、continue 等; 7. 已知字符'A'、'Z'、'a'、'z'的ASCII 码分别为65、90、97、122,str1为全为大写字母的字符串,采用什么命令可将该字符串转换成小写。 8. 在MATLAB 中求解线性方程组=Ax b 可采用什么指令; 9. 掌握基本运算符,例如*、.*、/、./、^、.^ 的区别 10.读懂逻辑表达式,会写出逻辑表达式的结果(0或1) 11. 掌握集中循环结构,尤其if..elseif…else…end 和swich…case 结构的语法,要准确。 12. 会编写分段函数的程序; x 和y 满足如下关系: 221211212x x y x x x x ?? 编写函数y=f(x),用于计算上述分段函数。 13. 绘图时采用的几个命令的掌握:hold on 、plot 、plot3 14*.用语句[x, y]=meshgrid(a:b)构建网格数据,例子如下: 示例一: x=-3:1:3;y=-2:1:2; [X,Y]= meshgrid(x,y); 这里meshgrid (x ,y )的作用是分别产生以向量x 为行,向量y 为列的两个大小相同的矩阵,其中x 的行是从-3开始到3,每间隔1记下一个数据,并把这些数据集成矩阵X ;同理y 的列则是从-2到2,每间隔1记下一个数据,并集成矩阵Y 。即 X= -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3

基于matlab的通信系统仿真

创新实践报告 报告题目: 基于matlab的通信系统仿真学院名称: 信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究与产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术与工具才能实现。在这种迫切的需求之下,MA TLAB应运而生。它使得通信系统仿真的设计与分析过程变得相对直观与便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性与极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示: 二、仿真分析与测试 (1)随机信号的生成 利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p

p=0、5; source=randsrc(1,N,[1,0;p,1-p]); (2)信道编译码 1、卷积码的原理 卷积码(convolutional code)就是由伊利亚斯(p 、Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。 卷积码在编码时将k 比特的信息段编成n 个比特的码组,监督码元不仅与当前的k 比特信息段有关,而且还同前面m=(N-1)个信息段有关。 通常将N 称为编码约束长度,将nN 称为编码约束长度。一般来说,卷积码中k 与n 的值就是比较小的整数。将卷积码记作(n,k,N)。卷积码的编码流程如下所示。 可以瞧出:输出的数据位V1,V2与寄存器D0,D1,D2,D3之间的关系。根据模2加运算特点可以得知奇数个1模2运算后结果仍就是1,偶数个1模2运算后结果就是0。 2、译码原理 卷积码译码方法主要有两类:代数译码与概率译码。代数译码主要根据码本身的代数特性进行译码,而信道的统计特性并没有考虑在内。目前,代数译码的主要代表就是大数逻辑解码。该译码方法对于约束长度较短的卷积码有较好的效果,并且设备较简单。概率译码,又称最大似然译码,就是基于信道的统计特性与卷积 码的特点进行计算。在现代通信系统中,维特比译码就是目前使用最广泛的概率 译码方法。 02 1V D D =⊕01232V D D D D =⊕⊕⊕

MATLAB试卷+答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1’ ×25=25’) 1、Matlab的全称为MATrix LABoratory 。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:Command window(指令窗口、Current directory(当前路径浏览器)、Workspace(工作台窗口) 、Command history (指令历史窗口)和Launch pad(发布平台)。 4、在Matlab中inf表示:无穷大;clc表示:清除当前Command window区域内容;more表示:显示命令窗口输出一个整个萤幕的时间;who表示:返回当前工作空间中所有变量名;whos表示:返回当前工作空间中所有变量,以及它们的名字、尺寸、所占字节数、属性等信息。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:当前未定义变量和变量名的答案;eps表示: 浮点相对精度(其值是从1.0到下一个最大浮点数之间的差值);nargin表示:函 9、建立结构数组或转换结构数组的函数为:struct

计量经济学(英文)重点知识点考试必备

第一章 1.Econometrics(计量经济学): the social science in which the tools of economic theory, mathematics, and statistical inference are applied to the analysis of economic phenomena. the result of a certain outlook on the role of economics, consists of the application of mathematical statistics to economic data to lend empirical support to the models constructed by mathematical economics and to obtain numerical results. 2.Econometric analysis proceeds along the following lines计量经济学 分析步骤 1)Creating a statement of theory or hypothesis.建立一个理论假说 2)Collecting data.收集数据 3)Specifying the mathematical model of theory.设定数学模型 4)Specifying the statistical, or econometric, model of theory.设立统计或经济计量模型 5)Estimating the parameters of the chosen econometric model.估计经济计量模型参数 6)Checking for model adequacy : Model specification testing.核查模型的适用性:模型设定检验 7)Testing the hypothesis derived from the model.检验自模型的假设 8)Using the model for prediction or forecasting.利用模型进行预测 Step2:收集数据 Three types of data三类可用于分析的数据 1)Time series(时间序列数据):Collected over a period of time, are collected at regular intervals.按时间跨度收集得到

Matlab的gui界面设计实例练习

一个不错的Matlab的gui界面设计实例 %非常漂亮的日历, function CalendarTable; % calendar 日历 % Example: % CalendarTable; S=datestr(now); [y,m,d]=datevec(S); % d is day % m is month % y is year DD={'Sun','Mon','Tue','Wed','Thu','Fri','Sat'}; close all figure; for k=1:7; uicontrol(gcf,'style','text',... 'unit','normalized','position',[0.02+k*0.1,0.55,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor','b',... 'String',DD(k),'fontsize',16,'fontname','times new roman'); end h=1; ss='b'; qq=eomday(y,m); for k=1:qq; n=datenum(y,m,k); [da,w] = weekday(n); if k==d; ss='r'; end uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.02+da*0.1,0.55-h*0.08,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',ss,... 'String',num2str(k)); ss='b'; if da==7; h=h+1;

雷达系统仿真matlab代码

% ======================================================================= ====================% % 该程序完成16个脉冲信号的【脉压、动目标显示/动目标检测(MTI/MTD)】 % ======================================================================= ====================% % 程序中根据每个学生学号的末尾三位(依次为XYZ)来决定仿真参数,034 % 目标距离为[3000 8025 9000+(Y*10+Z)*200 8025],4个目标 % 目标速度为[50 0 (Y*10+X+Z)*6 100] % ======================================================================= ====================% close all; %关闭所有图形 clear all; %清除所有变量 clc; % ======================================================================= ============% % 雷达参数 % % ======================================================================= ============% C=3.0e8; %光速(m/s) RF=3.140e9/2; %雷达射频 1.57GHz Lambda=C/RF;%雷达工作波长 PulseNumber=16; %回波脉冲数 BandWidth=2.0e6; %发射信号带宽带宽B=1/τ,τ是脉冲宽度 TimeWidth=42.0e-6; %发射信号时宽 PRT=240e-6; % 雷达发射脉冲重复周期(s),240us对应1/2*240*300=36000米最大无模糊距离 PRF=1/PRT; Fs=2.0e6; %采样频率 NoisePower=-12;%(dB);%噪声功率(目标为0dB) % ---------------------------------------------------------------% SampleNumber=fix(Fs*PRT);%计算一个脉冲周期的采样点数480; TotalNumber=SampleNumber*PulseNumber;%总的采样点数480*16=; BlindNumber=fix(Fs*TimeWidth);%计算一个脉冲周期的盲区-遮挡样点数; %====================================================================== =============% % 目标参数 % %====================================================================== =============% TargetNumber=4;%目标个数 SigPower(1:TargetNumber)=[1 1 1 0.25];%目标功率,无量纲 TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m 距离参数为[3000 8025 9000+(Y*10+Z)*200 8025] DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C); % 把目标距离换算成采样点(距离门) fix函数向0靠拢取整 TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度单位m/s 速度参数为[50 0 (Y*10+X+Z)*6 100]

相关主题
文本预览
相关文档 最新文档