1、标点符号;可以使命令行不显示运算结果,%用来表示该行为注释行。
2、x为0~4pi,步长为0.1pi的向量,使用命令x=0:0.1*pi:4*pi创建。4、输入矩阵A=
错误!未找到引用源。
,使用全下标方式用A(2,2)取出元素
“-5”,使用单下标方式用A(5)取出元素“-5”。
5、符号表达式sin(2*a+t)+m中独立的符号变量为t。
6、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义。
7. 设x是一维数组,x的倒数第3个元素表示为
______x(_end-2_)________________;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_x=x(_1:36,[154],37:end)_;设y为二维数组,要删除y
的第34行和48列,可使用命令_y(34,:)=[];y(:,48)=[]_;
8. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令__save _x_;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令
_x=xlsread('data.xls')_;
9. 在while表达式,语句体,End 循环语句中,表达式的值__非零__时表示循环
条件为真,语句体将被执行,否则跳出该循环语句;
10. 打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命
令_fid= fopen('fname.m','w+');
11.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令__x=input(…Who is she??,?s?)_;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid = fopen(…wt.txt?,??,_);
fprintf () ;12.设A=
错误!未找到引用源。,和B=
错误!未找到引用源。
和
C=错误!未找到引用源。均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=
错误!未找到引用源。,可用命令_D=(A-C)/B.^C_,计算
错误!未找到引用源。
可
用命令_det(inv(A?*B);
13. 在MATLAB命令窗口中的“≥”标志为MATLAB的命令行提示符,“│”标志为输入提示符。
14.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。
A+B ans= [2,2,6;5,10,0;7,9,11];
A.*B ans= [1,0,9;4,25,0;0,8,18];
A==B ans= [1,0,1;0,1,1;0,0,0];
15.已知A是矩阵,求A的对角矩阵函数是diag ,求A的下三角矩阵函数是
tril 。
16.MATLAB的程序文件和Simulink模型文件的扩展名分别是.m、.mdl。
17.MATLAB最基本的绘图函数为plot()。
18. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A=__[2;5]________________
19. fix(-1.5)=___-1________, round(-1.5)=__-2_______________.
20. syms a b;linspace(a,b,2)=___ [ a, b]________________________.
21.已知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]__.
22. A=[1,2,3;4,5,6];A(4)=__5__________, A(3,2)=___无答案_______________
23.A=[1,2;3,4]; B=[1,0;0,1]; A*B=___[1 2;3 4]___________,A.*B=____[1 0;0 4]________________.
24. A=[1 2 3;6 5 4]; reshape(A,3,2)=__ [1 5;6 3;2 4]_________________.
25. A=[1,2;3,1]; B=[1,0;0,1]; A~=B=_______[0 1;1 0]
________.
26. A=[1,2,3;1,4,9;1,7,27]; triu(A,-1)=_ [1 2 3;1 4 9;0 7 27]____.
flipud(A)=____ [1 7 27;1 4 9;1 2 3]______________.
27.factor(4)=_错误!未找到引用源。___________.
28. A=[4,15,-45,10,6;56,0,17,-45,0]; find(A>=10 & A<=20)=___ 3
6
7
___________.
29. x=1:3; m=’x.^2+3’; eval(m)=_____4 7 12_____________.
30.rem(9,2)=____1___ , nchoosek(4,3)=____4_______.
31. ch=‘ABc123d4e5’; ch(2:5)=__ Bc12 ___.ch(end:-1:1)=__
5e4d321cBA___________.
32.A=diag(1:5); eig(A)=___ 1
2
3
4
5____________. trace(A)=____15_______________
33.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &
B 的运行结果ans=[0 1 1;1 1 0];
A ./
B 的运行结果ans=[0 2.25 2;1 0.6 NaN]。
34. 产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为ones(3)。
35. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为 2 5和5。
37. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为if x<=80 & x>60。
38. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是polyint(P,K);求P/Q的解,商和余数分别保存在k和r,使用的命令是[k,r]=deconv(P,Q);
39.为了使两个pl ot的图形在同一个坐标显示,可以使用hold on命令进行图形保持;可以使用grid on命令为图形添加网格。
40. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件
my_data.mat中的指令save my_date;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令Lode my_date。
41. MATLAB提供了两种运行方式,是按F5和把*.m文件copy到matlab里,回车
。
42.MATLAB的含义为矩阵实验室(Matrix Laboratory)。
43.MATLAB中,都包括哪些工具箱,举例不少于6个:偏微分方程工具箱、最优化工具箱、插值运算工具箱
、数理统计工具箱、信号处理工具箱、通信工具箱,滤波设计工具箱。
44、在MATLAB中,plot命令用于什么,画曲线。
45、size命令的功能,确定阵列的长度。
46、a=[1 2 2],求a的转置a=[1;2;2] 。
47、在线形图型格式的设置中,字符r表示什么颜色红色。
48、在MATLAB中,向量的点积由函数dot来实现。
49. 在MATLAB中,矩阵的秩由函数rank来实现。
50.在MATLAB中,单位矩阵由函数eye 来实现。
51. 在MATLAB中,二维饼图由函数pie 来实现。
52. 在线形图型格式的设置中,字符b表示什么颜色。蓝色
53. MATLAB表达式3*2^3^2的结果是。192
54.条形图由函数bar来实现。
55. 倘若要是对x进行赋值,从5到25,间隔是0.1, x=5:0.1:25;
56. 倘若要是对x进行赋值,从2到20,中间间隔100个点,x=linspace(2,20,100);选择题
1. 下列变量中的最大数是( c)
A.eps B.realmin C.realmax D.-pi
2. 在MATLAB中下列表示或内部函数调用表示正确的是(c)
A.+99 B.sinx C.2-3*e^2 D.3-2pi
3. 下列表示可以作为MATLAB的变量的是(d )
A.abcd-2 B.xyz_2# C.@h D.X_1_a
4. 如果x=1: 2 : 8,则x(1)和x(4)分别是(b )
A.1,8 B.1, 7 C.2, 8 D.2, 7
5. 下列变量中比0大的最小数是(b)
A.i B.realmin C.realmax D.pi
6. 在MATLAB中下列数值的表示不正确的是(b )
A.+99 B.1.3e-5 C.2-3*e^2 D.3-2*pi
7. 下列表示可以作为MATLAB的变量的是(b )
A.abcd-2 B.xyz_2a C.@h D.3hour
8. 如果x=1:-2:-8,则x(1)和x(5)分别是(d )
A.1,-8 B.-1,-7 C.-1,-8 D.1,-7
9. MATLAB表达式2*2^3^2的结果是( a)
A.128 B.4096 C. 262144 D.256
10. 下列哪个变量的定义是不合法的(A)。
(A) abcd-3 (B) xyz_3(C) abcdef (D) x3yz
11.指出下列错误的指令(B)。
(A) syms a b;(B) syms a, b;(C) syms(…a', …b'); (D) syms(…a','b','posit ive');
12.下列哪条指令是求矩阵的行列式的值(C)。
(A) inv (B) diag (C) det (D) eig
13 .清空Matlab 工作空间内所有变量的指令是(C)。
(A) clc (B) cls (C) clear (D) clf
21、下列变量名中是合法的。a
(A)char_1 ;(B)x*y ;(C)x\y ;(D)end
22.以下哪个说法是正确的(D)。
(A)Matlab 进行数值计算的表达精度与其指令窗口中的数值显示精度相同。
(B)Matlab 指令窗口中显示的数值有效位数不能超过7 位。
(C)输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。
(D)历史指令窗口所记录的内容与diary 指令所产生“日志”内容是不同的。
23. 产生四维单位矩阵的语句为( b).
A.ones(4)
B.eye(4)
C.zeros(4)
D.rand(4)
24.求解线性方程组Ax=b,当det(A)≠0时,方程的解是(a ).
A. A\b
B.b/A
C.b\A
D.A/b
25. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( a) 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
26. 运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为(c)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= -1x2=-1
D. x1=1x2=-1
27. 清除工作空间(wordspace)的命令是(b)
A. clc;B. clear;C. clf;D.delete;
28. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( d) 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
29. 运行如下程序后,输入900回车,命令窗口(command windows)显示的结果为( b)
price=input('请输入商品价格');
switch fix(price/100)
case {0,1}
rate=0;
case {2,3,4}
case num2cell(5:9)
rate=5/100;
case num2cell(10:24)
rate=8/100;
case num2cell(25:49)
rate=10/100;
otherwise
rate=14/100;
end
price= price *(1-rate)
A. 900
B. 855
C. 850
D. 860
30. 运行如下程序后, 命令窗口(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
31. 运行如下程序后, 命令窗口(command windows)显示的结果为( a) A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
A.错误!未找到引用源。
B. Inner matrix dimensions must agree.
C. 错误!未找到引用源。
D. 错误!未找到引用源。
32. 运行如下程序后, 命令窗口(command windows)显示的结果为(b) k=0;
for n=100:200
if rem(n,21)~=0
k=k+1;
continue
end
break;
end
k
A.105
B. 5
C.4
D.101
33. 已知函数文件如下,则charray(4,3)=(c)
function fout=charray(a,b,c)
if nargin==1
fout=a;
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
A. 4
B. 12
C.7
D.6
34. 图形窗口(Figure)显示网格的命令是(b)
A. axis on
B. grid on
C. box on
D. hold on
35. 已知函数文件如下,则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
36. 运行如下程序后, 命令窗口(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
37. 运行如下程序后, 命令窗口(command windows)显示的结果为(c) x=[4,5,6;1,4,8]
y=std(x,0,2)
A. y= 2.1213 0.7071 1.4142
B. 1.50000.50001.0000
C. 1.0000
D. 0.8165
3.5119 2.8674
38. 在图形指定位置加标注命令是(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)?);
39. 运行如下程序后, 命令窗口(command windows)显示的结果为(b) x=polyder(conv(poly(2),poly(3)));
y=polyval(x,2)
A. 2-5
B. -1
C.0
D. 1 -56
40.下列哪个函数为插值函数(b)
A. P=polyfit(X,Y,3)
B. Y1=interp1(X,Y,X1,'method')
C. [Y,I]=sort(A,dim)
D. R=corrcoef(X)
41. 运行如下程序后, 命令窗口(command windows)显示的结果为(d ) syms x;
f=x*(sqrt(x^2+1)-x);
limit(f,x,inf,?left?)
A. 0B. -1/2C.0D. 1/2
42. 运行如下程序后, 命令窗口(command windows)显示的结果为(b) X=100:(10*11-9);
diff(X)
A. 104
B. 1
C.0
D. 50
43. 运行如下程序后, 命令窗口(command windows)显示的结果为( b) X=linspace(2,5,4);
H=diff(X)
A. 0.75 0.75 0.75 0.75
B.1 1 1
C. 1.5 1.5
D. 2 3 4 5
44. 运行如下程序后, 命令窗口(command windows)显示的结果为(a) syms x ;
f=sqrt(1+exp(x));
diff(f)
A. 1/2/(1+exp(x))^(1/2)*exp(x)
B. sqrt(1+exp(x))
C.1
D.0
45. 运行如下程序后, 命令窗口(command windows)显示的结果为(d) n=sym('n');
s1=symsum(1/n^2,n,1,inf)
A. 1/n
B. pi^2
C.0
D. 1/6*pi^2
46. 运行如下程序后, 命令窗口(command windows)显示的结果为(c) format rat;
syms x;
int(x*log(1+x),0,1)
A. 0.25
B. -1/2
C.1/4
D. 1/2
47.下列不属于与三维绘图相关函数是(d)
A. meshgrid
B. surf
C.mesh
D. bar
48. 角度x=错误!未找到引用源。,计算其正弦函数的运算为(d)
(A) SIN(deg2rad(x))(B) SIN(x)(C) sin(x)(D) sin(deg2rad(x))
49. 下面的程序执行后array的值为a
for k=1:10
if k>6
break;
else
array(k) = k;
end
end
(A) array = [1, 2, 3, 4, 5, 6](B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(C) array =6(D) array =10.
50.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
51. 求解方程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
52、在循环结构中跳出循环,但继续下次循环的命令为。c
(A)return;(B)break ;(C)continue ;(D)keyboad
56. 用round函数四舍五入对数组[2.486.393.938.52]取整,结果为c
(A) [2638](B) [2648](C) [2649](D) [3749]
57. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为c
(A)a' *b(B)a .*b(C)a*b(D)a-b
编程简题:
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 0 8 -5;
-6 5 -2 10];
c=[4; -3; 9;-8];
b=rank(a)
b = 4
(2)>> d=a\c
d = -1.4841, -0.6816, 0.5337,-1.2429
即:x=-1.4841;y= -0.6816;z= 0.5337;w=-1.2429
3. 编写MATALAB程序,完成下列任务(将程序保存为test0
4.m文件):
(1)在区间[0,4*pi]上均匀地取20个点构成向量;
(2)分别计算函数y1=sin(t) 与y2=2cos(2t) 在向量t处的函数值;
(3)在同一图形窗口绘制曲线y1=sin(t) 与y2=2cos(2t) ,要求y1曲线为黑色点画线,y2 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。
程序如下:(1)t=linspace(0,4*pi,20);
(2)y1=sin(t);
y2=2*cos(2*t);
(3)plot(t,y1,'k-.');
text(1.2,sin(1.2),'y1\leftarrow','FontSize',12);
hold on;
plot(t,y2,'r--o');
text(6,1.5,'y2\leftarrow','FontSize',12);
title('y1 and y2')
y1 and y2
024********
4.编写M函数文件,利用for循环或while循环完成计算函数y=sum(n)=错误!未
找到引用源。的任务,并利用该函数计算n=20时的和(将总程序保存为??.m 文件)。
function sum=text4(n);
sum=0;
m=1;
while m<=n;
sum=sum+m^m
m=m+1; end
当n=20时 用上述程序求得的和为: 1.0688e+026
7. 设 y=cos[0.5+((3sinx)/(1+x^2))] 把x=0~2π间分为101点,画出以x 为横坐标,y
为纵坐标的曲线; 解:>> x=linspace(0,2*pi,101); y=cos(0.5+3.*sin(x)./(1+x.*x)); plot(x,y)
01234567
-0.4
-0.2
0.2
0.4
0.6
0.8
1
设 f(x)=x^5-4x^4+3x^2-2x+6
(1)取x=[-2,8]之间函数的值(取100个点),画出曲线,看它有几个零点。 (提示:用polyval 函数) 解:>>p=[1 -4 3 -2 6]; x=linspace(-2,8,100); y=polyval(p,x); plot(x,y);
axis([-2,8, -200,2300]);
为了便于观察,在y=0处画直线,图如下所示:
-2
-1
1
2
3
4
5
6
7
8
0500
1000
1500
2000
与y=0直线交点有两个,有两个实根。
(2)用roots 函数求此多项式的根 >> a=roots(p)
a = 3.0000 ,1.6956 , -0.3478 + 1.0289i , -0.3478 - 1.0289i
在[-10,10;-10,10]范围内画出函数 z=错误!未找到引用源。的三维图形(加水珠)。
解:[X,Y]=meshgrid(-10 : 0.5 :10); a=sqrt(X.^2+Y.^2) +eps; Z=sin(a)./a; mesh(X,Y,Z); hold on; r=0.3;
for c=0.6:1:6;
[x1,y1,z1]=sphere(30); X1=x1*r+0.5; Y1=y1*r+0.5; Z1=z1*r+c;
mesh(X1,Y1,Z1); end
简单题(每小题 10 分,共 30 分)
2.mysum=0;i=1;
while(i<=100)
mysum=mysum+i;
i=i+1;
end
mysum
答:
mysum =
5050
(3) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。(10分)
(曲线图);②f(x,y)=错①错误!未找到引用源。,x
错误!未找到引用源。
误!未找到引用源。(-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
基本编程题(每小题10分,共30分)
1. Write a program to compute the following expressions
;
Here, we suppose the variable x has existed in the workspace. for i=1:10 for j=1:10
xbar(i)=xbar(i)+x(i,j); end
xbar(i)=xbar(i)/10; end
for i=1:10 for j=1:10
t1=0;t2=0;t3=0; for k=1:3
t1=t1+(x(i,k)-xbar(i))*(x(j,k)-xbar(j));
t2=t2+(x(i,k)-xbar(i))^2;
t3=t3+(x(j,k)-xbar(j))^2;
end
r2(i,j)=t1/sqrt(t2*t3);
end
end
r2
2. (1) Using plot() function to plot the curves of
and
in the range of , let their color are red and green respectively, and add the grid to the figure.
(2) Using fplot() function and ezplot() function to plot above-mentioned (上述的) curves respectively.
(1)x=-2*pi:pi/100:2*pi;
y=(sin(2*x)+cos(3*x)).*exp(-2*x);
z=sin(x)/x;
plot(x,y,?r?,x,z,?g?)
(2)fplot('[(sin(2*x)+cos(3*x)).*exp(-2*x), sin(x)/x]',[-2*pi2*pi])
3. Plot the 3D mesh figure and 3D surface figure of the function
in the range of and , respectively.
x=-4:1/100:4;
y=-4:1/100:4;
z=9(1-x)^2*exp(-x?^2/2-(y?+1)^2)
mesh(x,y,z);
surf(x,y,z);
写出程序的执行结果或写出给定要求的指令(总共35分)
1.写出执行以下代码后C,D,E的值(6分)
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
2.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值(5分) 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
3.创建符号函数并求解,要求写出步骤和运行结果(7分)
(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))
4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)
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
5.绘制函数曲线,要求写出程序代码(12分)
(1)在区间[0:2π]均匀的取50个点,构成向量π
(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。
解:代码如下:t=linspace(0,2*pi,50);
plot(t,sin(2*t-0.3),'r-.o');
hold on;
plot(t,3*cos(t+0.5),'b--*')
6. 打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。
解:程序如下:
for k=100:999
a=fix(k/100);
b=rem(fix(k/100),10);
c=rem(k,10);
if a.^3+b.^3+c.^3==k
fprintf('%u,\t\t',k);
end
end
答案如下:
397, 713,
10. 由指令A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?
第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)
ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t
第2章 MATLAB 概论 1、 与其他计算机语言相比较,MA TLAB 语言突出的特点是什么? 2、 MATLAB 系统由那些部分组成? 3、 安装MATLAB 时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 4、 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 5、 如何启动M 文件编辑/调试器? 6、 存储在工作空间中的数组能编辑吗?如何操作? 7、 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 8、 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 9、 在MA TLAB 中有几种获得帮助的途径? 第3章 MATLAB 数值运算 3.1 在MA TLAB 中如何建立矩阵?? ? ? ??194375,并将其赋予变量a ? 3.2 有几种建立矩阵的方法?各有什么优点? ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 3.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 3.4 数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 3.5 计算矩阵??????????897473535与???? ? ?????638976242之和。
Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。
第1章MATLAB基础 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 1.5 如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选
定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ? ??194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:
《及应用》实验指导书 《及应用》实验指导书 班级: T1243-7 姓名:柏元强 学号: 20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心
目录 实验04051001 语言基础..................... 错误!未指定书签。实验04051002 科学计算及绘图............. 1错误!未指定书签。实验04051003 综合实例编程.. (31)
实验04051001 语言基础 1实验目的 1) 熟悉的运行环境 2) 掌握的矩阵和数组的运算 3) 掌握符号表达式的创建 4) 熟悉符号方程的求解 2实验内容 第二章 1. 创建的变量,并进行计算。 (1) 87,190,计算 、、a*b 。 (87); (190); *b (2) 创建 8 类型的变量,数值与(1)中相同,进行相同的计算。 8(87); 8(190); *b 2.计算: (1) 操作成绩 报告成绩
(2) e3 (3) (60) (3) (3*4) 3.设,,计算: (1) (2) (3) 23; (4*u*v)(v) (((u))^2)/(v^2) ((3*v))/(u*v) 4.计算如下表达式: (1) (2) (3-5*i)*(4+2*i) (2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20
(2) 4 <= 20 (3) 4 20 (4) 4 20 (5) 'b'<'B' 4 < 20 , 4 <= 20,4 20,4 20,'b'<'B' 6.设,,,,判断下面表达式的值。 (1) (2) (3) (4) (5) (6) 395837; a><>>> 7.编写脚本,计算上面第2题中的表达式。 ('(60)='); ((60)) ('(3)='); ((3)) ('(3*4)='); ((3*4)) 8.编写脚本,输出上面第6题中的表达式的值。395837;
第1章 MATLAB简介 1、MA TLAB的主要特点有:①语言简洁,编程效率高。②人机界面友善,交互性好。③绘图功能强大,便于数据可视化。④学科众多、领域广泛的MATLAB工具箱。⑤源程序的开放性。 MATLAB的典型应用领域有:①自动控制②汽车③电子④仪器仪表⑤生物医学⑥信号处理⑦通信等。 2、填空题 ⑴命令窗口、命令历史窗口、当前目录窗口 ⑵查阅、保存、编辑 ⑶清除图形窗、清除命令窗口中显示内容、清除MATLAB工作空间中保存的变量。 3、如果想查看某一变量具体内容或者对其修改操作,可以在工作空间中双击该变量名称,可以打开数组编辑器,在数组编辑器中可以查看变量的具体内容,也可以对其修改。如果想删除MATLAB内存中的变量,可以在工作空间中选中该变量,然后利用工作空间窗口的菜单命令或工具条中的快捷图标进行删除。 4、1+2+3+4+5+... (+ 后面可以直接跟...,也可以在+和...中加一个空格。) 6+7+8+9 1+2+3+4+5 ... (5后面必须跟一个空格,不能直接跟...,否则报错,这在预置一个+6+7+8+9 大数组时很重要。) 第2章矩阵与数值数组 1、填空题: ⑴非数、无穷大、机器零阈值,浮点数相对精度,eps= 2.2204e-016。 ⑵全下标、单下标。 2、阅读程序题: (本题主要考察数组的寻访、赋值和简单运算,提示:带;的语句不显示结果) ⑴ans = 2 3 7 Sa = 10 20 30 A = 1 20 5 30 9 10 4 6 8 10 ⑵ A = 1 3 5 7 9 11 13 15
2 4 6 8 10 12 14 16 ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 A = 0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0 ⑶ ans = -1 -4 6 4 ans = 3 0 5 -2 ans = 3 6 9 12 ans = 3 6 9 12 3、A=magic(4); L=A<10 L = 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 4、省略。 第3章字符串、元胞和构架数组 1. 直接创建法:S1=['Where there is life,' 'there is hope. '] %注意第2行要加入6个空格使其与第一 行字符数相等,否则报错。 S2=str2mat('Where there is life,','there is hope.') S3=strvcat('Where there is life,','there is hope.') %后两种方法则不用考虑两行 字符的数目 2. 填空题:A(2,3);A{2,3} 3. 阅读程序题: ⑴subch = ABc12
2. 用MATLAB 语句输入矩阵A 和B 3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来, 赋给B 矩阵,用magic(8)A =命令生成A 矩阵,用上述命令检验一下结果是不是正确。 4.用数值方法可以求出∑=++++++==63 63622284212i i S Λ,试不采用循环的 形式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图 7. 试求出如下极限。 (1)x x x x 1)93(lim +∞ →; (2)1 1lim 0-+→→xy xy y x ; (3)2 2)()cos(1lim 2 2 220 0y x y x e y x y x +→→++- 8. 已知参数方程? ??-==t t t y t x sin cos cos ln ,试求出x y d d 和3 /2 2d d π=t x y 9. 假设?-=xy t t e y x f 0 d ),(2 ,试求2222 22y f y x f x f y x ??+???-?? 10. 试求出下面的极限。 (1)??????-++-+-+-∞→1)2(1 161141121lim 2222n n Λ; (2))131211( lim 2 222π πππn n n n n n n ++++++++∞ →Λ 11. 试求出以下的曲线积分。 (1)?+l s y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=, )20(π≤≤t 。
ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)
第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MA TLAB中有几种获得帮助的途径?
MATLAB 基本运算 1.在MATLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a ?>>a=[573;491] 2.在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 3.数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 4.计算矩阵??????????897473535与??????????638976242之和。>>a=[535;374;798]; >>b=[242;679;836]; >>a+b ans = 7 779 1413151214 5.计算??????=572396a 与?? ????=864142b 的数组乘积。>>a=[693;275]; >>b=[241;468]; >>a.*b ans = 12 36384240 6.“左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。
7.对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。>>A=[492;764;357]; >>B=[372628]’; >>X=A\B X = -0.5118 4.0427 1.3318 8.已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 >>a=[123;456;789]; >>a.^2 ans = 1 4916 253649 6481 >>a^2 ans = 30 364266 81961021261509.[]7.0802.05--=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。 相当于a=[11011]。 10.在sin(x )运算中,x 是角度还是弧度? 在sin(x)运算中,x 是弧度,MATLAB 规定所有的三角函数运算都是按弧度进行运算。
A 类 1.矩阵20 11 2 49 40 31 22 123434132232144442332415134536342516145 37 3526178646 29 2718974738 2819101483930=m ,求矩阵的秩,特征值,特征向量,相似矩阵,对角化,二次型及其标准型。 2.画出如图所示的图形 y=sin(x) x 轴y 轴 y=cos(x) x 轴y 轴 2 46 8 0102030 40y=x 2 x 轴 y 轴 2 46 8 -30-20-100 10y=5-4*x x 轴 y 轴 3要求: 1) 对每列进行[0,1]区间化 '(min())/(max()min())x x x x x =--;
2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表; 3) 把16行3列进行转置,得到3行16列的表。然后对列进行操作,把3行 16列的表变成一列,后转置成一行,得到最终的结果。 4、下表为8 1) 2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大 5.附件1给出了100个学生的学号和五门课程成绩。 1)求五门课总分最高分和最低分及相应学生的学号。 2)设计一个成绩查询系统,要求输入某学生的学号能够返回该学生各科成 绩,总分以及在100个人中的名次。 B类(三选二) 6.假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球? 7、模拟猫跑一条轨迹,轨迹为倒“8”字,轨迹如下:(条件自行拟定) 8.当一个球从h米自由下落后,被地面弹起h1,再一次下落,直至平衡,如图所示,请模拟这个过程。 1 2 3 4 5 6 7 8 x 4.22 7.92 6.56 8.49 6.79 7.43 6.55 7.06 y 9.16 9.59 0.36 9.34 7.58 3.92 1.71 0.32
第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按T ab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )
一、填空题 1. MATLAB命令窗口中可用clear 命令清除工作区中的变量;用clc 命令清除命令窗口中的内容。 2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。 3 MATLAB的含义为矩阵运算。 4. MATLAB中的函数类型有嵌套函数、主函数、子函数、私有函数和匿名函数。 5. MATLAB中用系统预定义的特殊变量nargin 表示函数输入参数个数。 6. size命令的功能确定数组大小。 7. MATLAB中用linspace 符号定义单元数组。 8. MATLAB中用hold on 命令打开图形保持功能。 9 MATLAB中如果一个变量名为123,该变量名是否合法否(填是或否)。 10. MATLAB中用inv 函数完成矩阵的求逆运算,用det 函数求矩阵的行列式。 11.已知C={2+5i,’Hi’;1:4,[1 2]} 输入s=C(3) 即s=__'_Hi__'___. 12.先输入P=struct(‘name’,’Jack‘,’num’,43) ,再输入s= 即s=___Jack___. 13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能)使用plot 命令绘图。 14.sym 或syms _能_______(能﹨不能)创建符号矩阵。 15.已知x=3:2:24,则x有__11_个元素。 结构的开始是“if”命令,结束是_end____命令。 17.已知x为一个向量,计算ln(x)的MATLAB命令是计算_log(x)___。 18.命令:>>subplot(3,3,x)中有__9_个子图。 19.已知s=‘显示“hey”’,则s的元素个数是___9__。 y=f() global W W=2 y=f1(5) function y=f() global W y=w+W 创建以上函数文件,在命令窗口中运行“y=f”命令则显示__出错___。 21. MATLAB中用find 函数查找数组中的非零元素,用sort 函数对数组进行排序。 22. MATLAB中的M文件包括M脚本文件和M函数文件。 23. MATLAB中用系统预定义的特殊变量eps 表示浮点数的精度。 24. MATLAB中8位有符号整数用int8 定义。 25. MATLAB中小括号、转置运算符和冒号运算符,具有最高优先级的为转置运算符。 26. MATLAB中用系统预定义的特殊变量nargout 表示函数输出参数个数。 27. MATLAB中用% 符号表示其后为程序注释。 28. 已知矩阵A,则矩阵A的共轭转置可表示为A’。 29. MATLAB中用grid on 命令显示坐标轴下的网格线。 30. MATLAB中如果一个函数名为test,该函数名是否合法是(填是或否)。
习题: 1, 计算?? ????=572396a 与??? ???=864142b 的数组乘积。 2, 对于B AX =,如果???? ? ?????=753467294A ,??????????=282637B ,求解X 。 3, 已知:?? ?? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) 5, 将矩阵?? ?? ??=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。(应用poly,polyvalm) 7, 求解多项式x 3-7x 2+2x +40的根。(应用roots) 8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。(应用poly,polyvalm) 9, 计算多项式9514124234++--x x x x 的微分和积分。(应用polyder,polyint ,poly2sym)
10, 解方程组???? ? ?????=??????????66136221143092x 。(应用x=a\b) 11, 求欠定方程组?? ? ???=???? ??5865394742x 的最小范数解。(应用pinv) 12, 矩阵???? ? ?????-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,?x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵?? ? ? ??=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor) 19, ? ??? ?? ?? =)sin()log(12 x x e x x a f ax ,用符号微分求df/dx 。(应用syms,diff) 20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。(应用syms,ezplot) 21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。(应用plot) 22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。(应用plot,title,text,legend) 23 24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。
matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];
m a t l a b基础练习题-CAL-FENGHAI.-(YICAI)-Company One1
Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MATLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MATLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字 节,存放一个中文字符‘啊’需要占用2个字节。( ) 5、 判断:MATLAB 中,i 和j ) 6、 判断:MATLAB 中,pi 代表圆周率,它等于。( ) 7、 在MATLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MATLAB 的指 令窗中输入的MATLAB 指令是____________________________________。 8、 在MATLAB 中,a = 1,b = i ,则a 占___个字节,b 占___个字节,c 占 ________字节。 9、 在MATLAB 中,inf 的含义是______________,nan 的含义是 __________________。 数组 1、 在MATLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按 原来次序的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MATLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用 的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个 元素都赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MATLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( )