文档库 最新最全的文档下载
当前位置:文档库 › 福建2011年初3第1单元第3节课_Matlab考试题库附加答案

福建2011年初3第1单元第3节课_Matlab考试题库附加答案

福建2011年初3第1单元第3节课_Matlab考试题库附加答案
福建2011年初3第1单元第3节课_Matlab考试题库附加答案

Matab考试题库附加答案

一、辨析题(共2小题,每题 5 分,共计 10 分)

二、问答题(共3小题,每题 5 分,共计 15 分)

三、计算题(共7小题,每题 5 分,共计 35 分)

四、编程题(共4小题,每题 10 分,共计 40 分)

填空题(计算部分)

1、标点符号; _______可以使命令行不显示运算结果,

%——用来表示该行为注释行。

2、x为0~4pi,步长为0.1pi的向量,使用命令_______创建。

x=0:0.1*pi:4*pi

3、输入矩阵A=,使用全下标方式用A(2,2) 取出元素“-5”,使

用单下标方式用_______取出元素“-5”。

A(5)

4、符号表达式sin(2*a+t)+m中独立的符号变量为_______。

t

5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。

6. 设x是一维数组,x的倒数第3个元素表示为_______;

设y为二维数组,要删除y的第34行和48列,可使用命令_______; _______;

x(_end-2_)

y(34,:)=[]

y(:,48)=[]

7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令_________ _;

save _x

8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句;

非零

9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令_________;

x=input(‘Who is she?’,’s’)_

10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace 中,要产生矩阵D=,可用命令________ _,

计算可用命令________;

D=(A-C)/B.^C

det(inv(A’*B)

11. 在MATLAB命令窗口中的“>>”标志为MATLAB的_______提示符,“│”标志为_______提示符。

命令行

输入

12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。

A+B;

A.*B;

A==B ;

ans= [2,2,6;5,10,0;7,9,11]

ans= [1,0,9;4,25,0;0,8,18]

ans= [1,0,1;0,1,1;0,0,0]

13.已知A是矩阵,求A的对角矩阵函数是_______,

求A的下三角矩阵函数是_______。

diag

tril

14.MATLAB的程序文件和Simulink模型文件的扩展名分别是_______、。

.m

.mdl

15.MATLAB最基本的绘图函数为_______。

plot()

16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A=__________________

[2;5]

17. fix(-1.5)=___ ________, round(-1.5)=__ _______________.

-1 -2

18.已知A=[1 3;4 6];C=[A,eye(size(A));A ,ones(size(A))] 则C=

_____________.

[1 3 1 0;4 6 0 1;1 3 1 1;4 6 1 1]_ 19. A=[1,2,3;4,5,6]; A(4)=__________, A(3,2)=__________________

5_ 无答案

20.A=[1,2;3,4];B=[1,0;0,1]; A*B=__________, A.*B=____________.

[1 2;3 4]

[1 0;0 4]

21. A=[1 2 3;6 5 4]; reshape(A,3,2)=______________.

[1 5;6 3;2 4]

22. A=[1,2;3,1]; B=[1,0;0,1]; A~=B=___________.

[0 1;1 0]

23. A=[1,2,3;1,4,9;1,7,27]; triu(A,-1)=_____.提取矩阵上三角矩阵的函数

[1 2 3;1 4 9;0 7 27]

24. A=[4,15,-45,10,6;56,0,17,-45,0]; find(A>=10 & A<=20)=___ __________.

3 6 7

25.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。

A &

B 的运行结果_______;

A ./

B 的运行结果_______。

ans=[0 1 1;1 1 0]

ans= [0 2.25 2;1 0.6 NaN]

26. 产生4阶全0方阵的命令为_______;

产生3阶全1方阵的命令为。

zeros(4)

ones(3)

27. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_______。

2 5和 5

28. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为_______。

if x<=80 & x>60

29.为了使两个pl ot的图形在同一个坐标显示,可以使用_______命令进行图形保持;可以使用_______命令为图形添加网格。

hold on

grid on

30. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令_______;

save my_date

31. MATLAB提供了两种运行方式,是按_______和把_______文件copy到matlab里,回车。

F5

*.m

32.MATLAB的含义为_______。

矩阵实验室(Matrix Laboratory)33.MATLAB中,都包括哪些工具箱,举例不少于6个:_______

偏微分方程工具箱、最优化工具箱、插值运算工具箱、数理统计工具箱、信号处理工具箱、通信工具箱,滤波设计工具箱。

34、在MATLAB中,plot命令用于什么,。画曲线

35、size命令的功能,确定_______。阵列的长度

36、a=[1 2 2],求a的转置_______。a=[1;2;2]

37、在线形图型格式的设置中,字符r表示什么颜色。红色

38. 在MATLAB中,矩阵的秩由函数_______来实现。rank

39.在MATLAB中,单位矩阵由函数_______来实现。eye

40. 在MATLAB中,二维饼图由函数_______来实现。pie

41. 在线形图型格式的设置中,字符b表示什么颜色。蓝色

42. MATLAB表达式3*2^3^2的结果是_______。192

43.条形图由函数_______来实现。bar

44. 倘若要是对x进行赋值,从5到25,间隔是0.1, x=5:0.1:25;

45. 倘若要是对x进行赋值,从2到20,中间间隔100个点,

x=linspace(2,20,100);

选择题(计算部分)

1. 下列变量中的最大数是()

A.eps B.realmin C.realmax D.-pi

2. 下列表示可以作为MATLAB的变量的是()

A.abcd- 2 B.xyz_2# C.@h D.X_1_a

3. 如果x=1: 2 : 8,则x(1)和x(4)分别是()

A.1,8 B.1, 7 C.2, 8 D.2, 7

4. 下列变量中比0大的最小数是()

A.i B.realmin C.realmax D.pi

5. 在MATLAB中下列数值的表示不正确的是()

A.+99 B.1.3e-5 C.2-3*e^2 D.3-2*pi

c d b b b

6. 下列表示可以作为MATLAB的变量的是()

A.abcd-2 B.xyz_2a C.@h D.3hour

7. 如果x=1:-2:-8,则x(1)和x(5)分别是()

A.1,-8 B.-1,-7 C.-1,-8 D.1,-7

8. MATLAB表达式2*2^3^2的结果是()

A.128 B.4096 C. 262144 D.256

9. 下列哪个变量的定义是不合法的()。

(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz

10. 指出下列错误的指令()。

(A) syms a b; (B) syms a, b; (C) syms(…a', …b'); (D) syms(…a','b','positive');

b d a A B

11.下列哪条指令是求矩阵的行列式的值()。

(A) inv (B) diag (C) det (D) eig

inv是求逆矩阵

diag是矩阵对角元素的提取和创建对角阵

sqrt(x) ——求x的平方根

abs(x)——求x的绝对值

det(a)——求行列式的值

eig——计算矩阵A的特征值和特征向量的函数

clf; 用来清除图形的命令

12 .清空Matlab 工作空间内所有变量的指令是()。

(A) clc (B) cls (C) clear (D) clf

13、下列变量名中————是合法的。

(A) char_1 ; (B) x*y ; (C) x\y ; (D) end

14.以下哪个说法是正确的()。

(A)Matlab 进行数值计算的表达精度与其指令窗口中的数值显示精度相同。

(B)Matlab 指令窗口中显示的数值有效位数不能超过7 位。

(C)输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。

(D)历史指令窗口所记录的内容与diary 指令所产生“日志”内容是不同的。

15. 产生四维单位矩阵的语句为().

A.ones(4)

B.eye(4)

C.zeros(4)

D.rand(4) >> eye(4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1 >> ones(4)

ans =

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

>> zeros(4)

ans =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0 >> rand(4)

ans =

0.8147 0.6324 0.9575 0.9572

0.9058 0.0975 0.9649 0.4854

0.1270 0.2785 0.1576 0.8003

0.9134 0.5469 0.9706 0.1419

C C a

D b

16.求解线性方程组Ax=b,当det(A)≠0时,方程的解是().

A. A\b

B.b/A

C.b\A

D.A/b

17. 运行如下程序后,输入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

18. 运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为()a=input('a=?');

b=input('b=?');

c=input('c=?');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);

A. x1=num2str(1) x2=num2str(1)

B. x1=num2str(-1) x2=num2str(1)

C. x1= -1 x2=-1

D. x1=1 x2=-1

19. 清除工作空间(wordspace)的命令是()

A. clc; B. clear; C. clf; D.delete;

20. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( )

x=input('请输入x的值:');

if x==10

y=cos(x+1)+sqrt(x*x+1);

else

y=(3^(1/2))*sqrt(x+sqrt(x));

end

y

A. 9

B. 8

C. 7

D. 6

a a c

b d

21. 运行如下程序后, 命令窗口(command windows)显示的结果为( b)

s=0;

a=[12,13,14;15,16,17;18,19,20];

for k=a

s=s+k;

end

disp(s');

A. 144

B. 39 48 57

C.145

D. 45 48 51

22. 运行如下程序后, 命令窗口(command windows)显示的结果为(b )

k=0;

for n=100:200

if rem(n,21)~=0 %R=rem(X,Y),求余数函数,X,Y应该为正数

k=k+1;

continue

end

break;

end

A.105

B. 5

C.4

D.101

23. 图形窗口(Figure)显示网格的命令是(b)

A. axis on

B. grid on

C. box on

D. hold on

24. 已知函数文件如下,则factor(4)=(c )

function f=factor(n)

if n<=1

f=1;

else

f=factor(n-1)*n;

end

A. 4

B. 12

C. 24

D.48

25. 运行如下程序后, 命令窗口(command windows)显示的结果为( d)

A=[13,-56,78; 25,63,-735; 78,25,563; 1,0,-1];

y=max(max(A))

A. y=564

B.y=9

C.y=-735

D.y=563

26. 在图形指定位置加标注命令是(c)

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)?); %添加图例的标注,

27.下列哪个函数为插值函数(b)

A. P=polyfit(X,Y,3)

B. Y1=interp1(X,Y,X1,'method')

C. [Y,I]=sort(A,dim)

D. R=corrcoef(X)

28.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?c

(A)a=4, b=4, 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

29. 求解方程x4-4x3+12x-9 = 0 的所有解a

(A)1.0000, 3.0000, 1.7321, -1.7321

(B)1.0000, 3.0000, 1.7321i, -1.7321i

(C)1.0000i, 3.0000i, 1.7321, -1.7321

(D)-3.0000i, 3.0000i, 1.7321, -1.7321

30、在循环结构中跳出循环,但继续下次循环的命令为 。c (A) return; (B) break ; (C) continue ; (D) keyboard

31. 用round 函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 c (A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]

32. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 c (A) a' *b (B) a .*b (C) a*b (D) a-b

辨析题:

1 MATLAB 有几种建立矩阵的方法?各有什么优点?。

2 MATLAB 提供编程语言,请辨析M 文件编程中的命令文件与函数文件两种形式。

3 辨析matlab 中的拟合与插值有什么区别

4. 判断下列一段程序的错误,并进行改正。

x=-2:0.2:2;

y=x.^2; plot(x,y)

str1 = num2str(min(x));% 数字转化为字符串 str2 = num2str(max(x));% 数字转化为字符串 out = [Value of f from 'str1' to 'str2']; xlabel(out);

out = ['Value of f from ' str1 ' to ' str2];

或out = ['Value of f from str1 to str2'];

5根据下面两个矩阵

??

??

?

?????=??????????=987654321,136782078451220124B A 执行下列的矩阵运算命令,并回答有关的问题

(1) A.*B 和 A*B 将分别给出什么结果,它们是否相同,为什么? (2) 得出A.^B 、A/B 及A\B 的结果,并分别解释它们的物理意义。

问答题:

1 MATLAB系统包括哪些窗口,各个窗口功能是什么?

2 分析下面程序运行后s1,n1,s2,n2,m的值。

s1=0;s2=0;n1=0;n2=0;

x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ];

m=length(x);

for i=1:m

if x(i)<0

s1=s1+x(i);

n1=n1+1;

else

s2=s2+x(i);

n2=n2+1;

end

end

s1,n1,s2,n2,m

请回答s1,n1,s2,n2,m的结果。

3 已建立一个简单的SIMULINK模型,如下图,用信号发生器产生一个仿真图,请对下图

的符号和功能进行解释。

3 A = [1 2; 3 4]; B = [1 2; 1 4];

写出下面几条指令的运行结果:

C = A*B

D = A+B

E = A.*B

答:

C =

3 10

7 22

D =

2 4

4 8

E =

1 4

3 16

4.mysum=0;i=1;

while(i<=100)

mysum=mysum+i;

i=i+1;

end

mysum

答:

mysum =

5050

5.在MATLAB窗口中,用哪两种方法启动Simulink?答:

在MATLAB命令窗口中输入“simulink”再回车,或者单击工具栏中的SIMULINK 图标

6. 请修改下面的程序,让他们没有for循环语句!

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

[r c]=size(A);

for i=1:1:r

for j=1:1:c

if (A(i,j)>8 | A(i,j)<2)

A(i,j)=0;

end

end

end

解:程序如下:a=[1 2 3;4 5 6;7 8 9];

b=(a<=8&a>=2);a=a.*b星光灿烂王梓钧

https://www.wendangku.net/doc/8a4667301.html,/seshu/30875/index.html

7 编写一个函数,使其能够产生如下的分段函数:

并调用此函数,绘制x=[0,+2]范围内的f(x)*f(x+2)。

答:function y=f(x)

if x<=2

y=0.5*x;

else if x>6

y=0.5;

else y =1.5-0.25*x;

end

end

运行结果x=2

f(x)=1

x = 0:0.05:2;

y = diag(A2(x)'*A2(x+2));

plot(x,y);

xlabel('\bfx');

ylabel('\bfy');

0.2

0.4

0.6

0.8

1 1.2

1.4

1.6

1.8

2

00.050.10.150.20.250.30.350.40.45

0.5x

y

8(1) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。 ①

,x

(曲线图);②f(x,y)=(-2<=x<=2,-4<=x<=4)

(曲

面图)。

答:subplot(2,2,2);

ezplot('(cos(x))^(1/2)',[-pi/2 pi/2]); ylabel('y'); subplot(2,2,3); x=-2:0.5:2; y=-4:1:4;

ezsurfc('x^2/2^2+y^2/4^2')

-1

01

0.5

1

x

(cos(x))1/2

y

x x 2/22+y 2/42

y

(2) A 是一个維度m×n的矩阵. 写一段程序, 算出A中有多少个零元素。答:>> A= input ('请输入一个矩阵')

[m,n]= size(A);

sig=0;

for i=1:m

for j=1:n

if A(i,j)==0

sig = sig+1;

end

end

end

请输入一个矩阵[0 1 2;1 0 2; 0 0 0]

A =

0 1 2

1 0 2

0 0 0

>>sig

sig =

5

9 向量A=[]. 写一段程序, 找出A中的最小元素。

答:A= input ('请输入一个向量')

[m,n]=size(A)

min =A(1,n);

for i=1:n

if A(1,i)

min=A(1,i)

end

end

请输入一个向量[1 2 3 -5 2 0]

A =

1 2 3 -5 2 0

min =

-5

10 写出执行以下代码后C,D,E的值A=[1,2,3;4:6;7:9];

C=[A;[10,11,12]],

D=C(1:3,[2 3])

E=C(2,[1 2])

C =

1 2 3

4 5 6

7 8 9

10 11 12

D =

2 3

5 6

8 9

E =

4 5

11 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值。x=[0,1,0,2,0,3,0,4];

for k=1:8

if x(k)==0

x(k)=k;

else

x(k)=2*k+1;

end

end

disp(x);

1 5 3 9 5 13 7 17

12 创建符号函数并求解,要求写出步骤和运行结果

(1)创建符号函数f=ax2+bx+c

(2)求f=0的解

syms a x b c;

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

solve(f)

ans =

1/2/a*(-b+(b^2-4*a*c)^(1/2))

1/2/a*(-b-(b^2-4*a*c)^(1/2))

13 求解以下线性方程组,要求写出程序代码和运行结果。

2x1-3x2+x3+2x4=8

x1+3x2+ x4=6

x1-x2+x3+8x4=1

7x1+x2-2x3+2x4=5

解:程序代码:a=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2];

b=[8 6 1 5]';

ra=rank(a);

rb=rank([a b]);

det(a);

xx=a\b

运行结果:

xx =

3.1079

1.3278

7.9502

-1.0913

14. (1) 写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和

大于等于号;

(2) 写出逻辑操作中逻辑“与”、逻辑“或”及逻辑“非”的符号;

(3) 并用语句表达“如果a等于b且c等于0就让d 等于3,否则如果

a大于b且c=1让d等于0,其余情况让d等于3”;

解:(1)== ~= < > <= >=

(2)& | ~

(3)if a==b&c==0

d=3

else if a>b&c= =1

d=0

else

d=3

end

15. 设A=

和B=是两个10行10列的矩阵(数组),试说

明命令A*B, A/B, A\B, A.*(B.^A), A./B, A.\B和sin(A).*exp(B)的涵义。

解:A,B的矩阵乘法,矩阵A乘以B的逆,矩阵B乘以A的逆,B的每个元素的对应A次幂乘以A对应的每个元素

A的每个元素除以B对应的每个元素,B的每个元素除以A对应的每个元素,A的每个元素的正弦与B对应的每个元素的指数求积,

16. 设A为14*17数组,B为一个行数大于3的数组,请给出

(1)删除A的第4、8、12三列的命令;(2)删除B的倒数第3行的命令;

解:(1)A(:,[4 8 12])=[]

(2) B(end-2)=[]

编程简题

1 利用MATLAB数值运算,求解线性方程组(将程序保存为???.m文件)

2 求下列联立方程的解

3x+4y-7z-12w=4

5x-7y+4z+ 2w=-3

x +8z- 5w=9

-6x+5y-2z+10w=-8

求系数矩阵的秩;求出方程组的解。

解:(1)

>> a=[3 4 -7 -12

5 -7 4 2 ;

第1讲(1)MATLAB的基本知识

1 1—1 MATLAB 的基本知识 2 1-1-1、 基本运算与函数 1-1-2、循环命令 1-1-3、逻辑命令 1-1-4、集合多个命令于一个M 文件 1-1-5、搜寻路径 1-1-6、资料的储存与载入 1-1-7 MATLAB 编程技巧 附录1-7 3 启动方式:命令窗口;在窗口内的命令编辑;图形窗口;图形窗口中图形的复制 基本处理对象:矩阵(包含标量,以及向量) 变量名:以字母开头,不超过31个字符 命令行(以;结尾或不以;结尾):执行一个matlab 命令(例如赋值语句),或执行一个函数 注释说明行:以%开头 1-1-1、 基本运算与函数 4 在MATLAB 下进行基本数学运算,只需将运算式直接打入提示符(>>)之后,并按入Enter 键即可. 例如: >>(5*2+1.3-0.8)*10/25 ans = 4.2000 5 MATLAB 会将运算结果直接存入一变量ans ,代表MATLAB 运算后的答案,并显示其数值于屏幕上.(为简便起见,在下述各例中,我们不再显示MATLAB 的提示号.) 我们也可将上述运算式的结果设定给另一个变量x : 6 x = (5*2+1.3-0.8)*10^2/25 此时MATLAB 会直接显示x 的值. 由上例可知,MATLAB 认识所有一般常用到的加(+)、减(-)、乘(*)、除(/与\)的数学运算符号,以及幂次运算(^). x = 42

7 小提示:MATLAB 将所有变量均存成为double 的形式,所以不需经过变元说明. MATLAB 同时也会自动进行变量的使用和回收,而不必像C 语言,必须由使用者一一指定. 这些功能使得MATLAB 易学易用,使用者可专心致力于编写程序,而不必被软件枝节问题所干扰. 8 若不想让MATLAB 每次都显示运算结果,只需在运算式最后加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变量y 的值,直接键入y 即可: y = -0.0045 y 9 在上例中,sin 是正弦函数,exp 是指数函数,这些都 是MATLAB 常用到的数学函数. 下表即为MATLAB 常用的基本数学函数及三角函数: abs(x):绝对值 angle(z):复数z 的相角(Phase angle) sqrt(x):平方根 real(z):复数z 的实部 imag(z):复数z 的虚部 conj(z):复数z 的共轭复数 10 sign(x):符号函数 (Signum function). round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rats(x):将实数x 化为分数表示 rat(x):将实数x 化为多项分数展开 11 rem(x,y):求x 除以y 的余数 gcd(x,y):整数x 和y 的最大公因数 lcm(x,y):整数x 和y 的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e 为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 12 sin(x):正弦函数 cos(x):余弦函数 tan(x):正切函数 asin(x):反正弦函数 acos(x):反余弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数

第1讲 MATLAB简述

MATLAB2009从入门到精通

课程主要内容?第1章MATLAB简介 ?第2章数值运算 ?第3章单元数组和结构 ?第4章字符串 ?第5章符号运算 ?第6章MATLAB绘图基础 ?第7章程序设计 ?第8章计算方法的MATLAB实现?第9章优化设计 ?第10章SIMULINK仿真初探

第1章MATLAB简介 ?MATLAB是一种高效能的、用于科学和技术计算的计算机语言。它将计算、可视化和编程等功能集于一个易于使用的环境。MATLAB是一个交互式系统(写程序与执行命令同步),其基本的数据元素是没有维数限制的阵列,因此采用MATLAB编制包含矩阵和向量问题的程序时比采用只支持标量和非交互式的编程C或FORTAN语言更加方便。MATLAB 的全名是Matrix Laboratory,意思是矩阵实验室,是由MathWorks公司推出的。

1.1 概述 ?MATLAB语言的优点: ?(1)简单易学; ?(2)代码短小高效,只需熟悉算法特点、使用场合、函数调用格式和参数意义,不必花大量时间纠缠具体算法; ?(3)计算功能非常强大; ?(4)强大的图形表达功能; ?(5)可扩展性能。

?MATLAB的一个重要特色: ?它有一套程序扩展系统和一组称之为工具箱(toolbox)的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号 处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

1.2 运行环境 ?MATLAB提供两种运行方式:?一是命令行方式; ?二是M文件方式。 ?具体情况见下面的两幅图。

matlab第一讲

一、MATLAB工作环境 Command Window:(主要的工作界面) ●>>在默认情况下,这个意思就是,你可以在这个地方输入函数命令和表达式进行运算和 操作 ●Undock 窗口太多就会是我们觉得十分繁琐,所以matlab可以将某一个窗口独立开来●用户对命令窗口中的一些属性进行,设置Preference菜单项 在matlab中的设置也是比较人性化,我们可以任意按自己的喜好调节字体风格、大小、颜色和数值计算结果的显示格式。 点击下拉列表 比如我们可以选择format short格式,它表示在这个数据格式下,所输出的结果是小数点后保留4位,最多不超过7位;对于大于1000的实数,用5位小数的科学计数法表示。 设定好后,单击“OK”,这些设置立即生效,并且将这些设置永久保留下来,不会因MATLAB 的关闭和开启而改变。 Loose 结果之间有空格 Compact 没空格 在MATLAB中,数值计算的默认类型格式为双精度型(double),但数据的显示格式可以设置不同的格式。 ●Number format(数据格式) Number display(数据显示),什么是数据显示方式呢,我们马上就会展示。 Preference(通用) 附录1 数据显示格式设置 例: 对于数据格式的问题,我们也可以通过直接在command window输入指令来改变。使用我们现在见到的第一个函数format 它可以实现数据格式Number format和数据显示方式Number display的改变与转换。现在,我们就展示如下 >>format compact >> format short >> pi ans = 3.1416 >> format loose >> pi,sqrt(2) ans = 3.1416 ans = 1.4142 Loose 结果之间有空格

MATLAB快速入门第一章

。下面将对菜单进行介绍。 图1-8 1.3.1 M文件 M文件有两种类型:文本M文件和函数M文件。 (一)文本M文件 一个比较复杂的程序常常要作反复的调试,这时你不妨建立一个文本文件并把它储存起来,可以随时调用进行计算。建立文本文件可以在File菜单中选择New,再选择M-file,这时MATLAB将打开一个文本编辑窗口,在这里输入命令和数据。储存时文件名遵循MA TLAB变量命名的原则,但必须以m 为扩展名,其一般形式为 < M文件名>.m 如juzhen.m, pp.m等。 值得注意的是,文本M文件中的变量都是全局变量,在执行过程中, 文本M 文件中的命令可以使用目前工作区中的变量,它所产生的变量也将成为工作区的一部分。例如我们把下面的程序保存为名为budijifen1.m的文本M文件:function budijifen1 x=-4*pi:0.014*pi;a=1; for C=-3:3 y =1/2*(-sin(a*x)+a*x)/a+C plot(x,y) hold on end grid hold off xlabel('自变量 X') ylabel('因变量 Y') title('不定积分的积分曲线族') legend('不定积分的积分曲线族') 然后在MA TLAB工作窗口中输入文件名:

>> budijifen1 运行后屏幕显示计算结果(略)和图形(见图1-9)。 再如,将下面的一个生成矩阵的程序保存为名为juzhen.m 的文本M 文件: for i=1:k for j=1:n b(i,j)=7/(2*i+3*j-6); end end a=rats(b) 然后在MA TLAB 工作窗口中输入: >> k=3;n=4; juzhen,b 图1-9 名为budijifen1.m 的文本M 文件的图形 运行后屏幕显示运行结果如下: a = -7 7/2 7/5 7/8 7 7/4 1 7/10 7/3 7/6 7/9 7/12 b = -7.0000e+000 3.5000e+000 1.4000e+000 8.7500e-001 7.0000e+000 1.7500e+000 1.0000e+000 7.0000e-001 2.3333e+000 1.1667e+000 7.7778e-001 5.8333e-001 (二) 函数M 文件 函数M 文件是另一类M 文件,我们可以根据需要建立自己的函数文件,它们能够像库函数一样方便地调用,从而极大地扩展MA TLAB 的能力。如果对于一类特殊的问题,建立起许多函数M 文件,就能最终形成独立的工具箱。 函数M 文件的第一行有特殊的要求,其形式必须为 function <因变量>= <函数名>(<自变量>) 其他各行为从自变量计算因变量的语句,并最终将结果赋予因变量。而这个M 文件的文件名必须是<函数名>.m 。下面给出函数文件的一个简单例子。 如果我们要在某个程序中要调用函数π= 21y e 22x -,就必须建立并保存下面的名为fun.m 的函数M 文件。 function y = fun(x)

MATLAB简单介绍

1. MATLAB简单介绍 在介绍Matlab之前,我需要再多说几句~之前我接触过其他一些编程软件,相比其他一些编程软件,Matlab应该算是最为简单的一个。很多没有接触过的同学,千万不要害怕这东西,说高级点这牵扯到一些编程知识,但刚开始学你就当这个是一个高级的计算器就好。只要你仔细去思考,练习勤快一些,还是很容易上手的,但话说回来,你要是只是去看一些教程不去练习,我相信你的收获不会很大。 1.1 MATLAB界面介绍以及如何查找帮助文档 1.1.1 MATLAB界面介绍 由于牵扯到版权问题,关于Matlab的下载和安装我就不介绍了,相信只要大家google 一下就能得到很多答案。我曾经用的是2007的版本,发现很多工具箱不能用,一怒之下就换了MATLAB 2009a 版本。所以这个教程也就按照2009a的版本来介绍。如果你使用的是一些比较早的版本,那么我不能保证后面所有的程序你都能使用,但也发生的几率不会太大,所以大家也没有必要太纠结于这个版本问题。当你一打开你的MATLAB的时候出现的界面有可能如下图 下面我们来一一介绍一下这个界面: A.这个地方为workspace,这里一般是用来存储我们使用的一些变量,以及变量的一些信息,神马叫变量呢?大家不要着急,我后面会慢慢向大家介绍,只要大家认清楚这个地方就好。 B.这个地方是Currentdirectory,这个地方就叫做当前路径,这个和我表明E的地方是一致的,当我们点击E后面那个。。。的按钮,就可以选择我们工作的当前路径。我们在程序中调用自己写的一些函数,或者储存图片,默认就是在这个路径下面的~如果你从网上下了一段程序,希望调用它,这时候就需要将这个当前路径设置为你下载的那个程序所存放的文件夹,否则matlab是不知道你在调用哪里的程序。 C.这个地方叫 CommandWindow,也是我们俗称的工作区,也就是我们输入命令的窗口。我在最前面说这Matlab是高级计算器,在这里你就可以尝试一下使用这个计算器。你在命令窗口当中输入124*43然后按回车,它是不是就会得到答案5332。后面我们编程什么的,其实就当做要计算一个东西,只不过我们将步骤一步步写下来,然后它就会按照我们的步骤将结果算出来。说白了就是这么简单。 D.这个地方是CommandHistory,也就是我们所说的历史窗口。这里会记录着你前面输入的一些命令。比如我们后面要用到之前写的一些命令,就可以直接从这里复制粘贴到命令窗口。

实验一 MATLAB基础准备及入门

实验一 MATLAB基础准备及入门本次实验有两个目的:一是讲述MATLAB正常运行所必须具备的基础条件;二是简明 系统地介绍高度集成的Desktop操作桌面的功能和使用方法。 本章的前两节分别讲述:MATLAB的正确安装方法和MATLAB 环境的启动。因为指令窗是MATLAB最重要的操作界面,所以本章用第 1.3、1.4 两节以最简单通俗的叙述、算例讲述指令窗的基本操作方法和规则。这部分内容几乎对MATLAB各种版本都适用。 MATLAB6.x 不同于其前版本的最突出之处是:向用户提供前所未有的、成系列的交互式工作界面。了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。为此,本章特设几节用于专门介绍最常用的交互界面:历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、M文件编辑/调试器、及帮助导航/浏览器。 本章是根据MATLAB6.5版编写的,但大部分内容也适用于其他6.x版。 1.1M ATLAB的安装和内容选择 图 1.1-1 1.2D esktop操作桌面的启动 1.2.1MATLAB的启动 1.2.2Desktop操作桌面简介

一 操作桌面的缺省外貌 图1.2-1 二 通用操作界面 1.3 C ommand Window 运行入门 1.3.1 Command Window 指令窗简介 图 1.3-1 1.3.2 最简单的计算器使用法 【例1.3.2-1】求2 3)]47(212[÷-?+的算术运算结果。 (1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。 (3)在指令执行后,MATLAB 指令窗中将显示以下结果。

Matlab gui新手入门指南

1、从最简单的开始 编程最基本的目的就是——我执行一个操作,程序做出一个反应。 “一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项…… “做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里…… ------------------------------------------------------------------------------------------------------------------- 编程的基本思想: 目的->当点击按钮A时,然后执行任务C, 则->进入按钮A的回调函数callback里,写下任务C的代码。 ------------------------------------------------------------------------------------------------------------------- a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。 a:不同的回调函数啥意思?? callBack 最常用的就是它。如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。正常用途,全放在callback下就够了。如果其他的,实在是想知道,了解一下也未尝不可。 ButtonDownFcn 就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。) CreateFcn 顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码; DeleteFcn 一样。在控件要销毁,但是被毁灭之前执行这个函数名下的代码。貌似“真的要退出吗”这一类就是写在这里。 KeyPressFcn 当前控件获得焦点且有按键按下时执行。(什么是焦点?就是这个控件被鼠标点了(或者是tab轮选到了)。你打开一个记事本,然后再点这个网页,再随便按几个按键,记事本上有字不?没有对吧。因为它没获得焦点,所以你的按键它不会反应的。只有你最后再点它一下,再按几个按键,结果怎么样?有字了吧?)这里的KeyPressFcn也是一样的道理。 一般在这下面的代码还会判断下按键是什么,然后执行相应的代码。 ResizeFcn,SelectionChangeFcn 不常用。也懒得去看了。附几句,控件都有Resize的属性,好像默认是不可调整,如果要用到这个函数,去把它打开先。 SelectionChangeFcn 是在群按钮组件中,改变选择时,所执行的函数。 哪些控件支持哪些回调函数?很简单,你在它上面右键就可以看到了,点进去就可以编辑了。 可以在property inspect中在需要的回调函数下设置%automatic就可以自动添加相应的回调函数框架。 2、常用控件代码框架参考 --------------------------------------------------------------------- Toggle Button的callback一般写法

(完整版)matlab第一讲教案

西南科技大学本科生课程备课教案 计算机技术在安全工程中的应用 ——Matlab入门及应用 授课教师:徐中慧 班级: 专业:安全技术及工程

绪论 课型:新授课 教具:多媒体教学设备,matlab教学软件 一、目标与要求 了解matlab的起源,发展,优势,应用范围等,熟悉matlab的操作界面,能够进行简单的数值运算。 二、教学重点与难点 本堂课教学的重点在于引导学生掌握matlab的安装,熟悉matlab操作界面,并进行简单的运算。三、教学方法 本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。 四、教学内容 提问:安全工程的研究和工程实践过程哪些地方要运用到计算机技术? 建筑安全:设计图纸CAD图纸 化工安全:压力容器爆炸我们可以运用计算机技术进行数值计算和模拟判定爆炸影响范围,从而可以确定安全防护距离 职业卫生防护:尤其是在高粉尘的作业环境中 煤矿安全:瓦斯爆炸煤与瓦斯突出等等 (一)matlab是什么? MATLAB是矩阵实验室(Matrix Laboratory)(['meitriks]:矩阵,基质,模型;[l?'b?r?t?ri]:实验室)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MA TLAB和Simulink两大部分。 (1)什么是Simulink? Simulink是MATLAB中的一种可视化仿真工具,是一种基于MA TLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

相关文档