matlab考试复习题及内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习填空
1. 清除命令窗口内容的命令是(clc )。
2. 删除工作空间中保存的变量x的命令是(clear
x )。
3. 将双精度实数的显示格式设置成15位定点小数格式的命令是(format
long )。
4. 要在命令窗口中查看对函数log的帮助信息,所用命令是
(help log )。
5. 要查询在工作空间中定义的变量x的相关信息,可用命令
(whos x )。
6. Matlab标识符构成规则是(以字母打头,由字母,数字,下
划线组成。
)。
7. Matlab存储数值的默认类型是(双精度浮点形
式)。
8. 设x是复数,取x的实部存入变量y的语句是
(y=real(x) )。
9. 设x是复数,取x的虚部存入变量y的语句是
(y=imag(x) )。
10. 设x是复数,取x的模存入变量y的语句是
(y=abs(x) )。
11. 设x是复数,取x的辐角(角度)存入变量y的语句是
(y=angle(x)/pi*180 )。
12. 设x是复数,取x的共轭存入变量y的语句是
(y=conj(x) )。
13. 设a和b是逻辑型变量,则表达式a+b的类型是
(double )。
14. 设a和b是逻辑型变量,则表达式a*b的类型是
(double )。
15. 表达式(3>2)*(5~=5)的类型是(double)。
16. 表达式(5<2)*120的值是(0 )。
17. 表达式(5>2)*(6~=5)的值是( 1 )。
18. 表达式char(65)=='A' 的值是( 1 )。
19. 表达式char(65)+1 的值是(66 )。
20. 表达式'A'+1的值是(66 )。
21. 表达式'A'+'B' 的值是(131 )。
22. 存储double型数据占用内存(8 )字节。
23. 存储single型数据占用内存( 4 )字节。
24. 存储logical型数据占用内存( 1 )字节。
25. 存储字符型数据占用内存( 2 )字节。
26. 数组[8:2, 1:5] 含有( 5 )个数元素。
27. 数组[8:-2:2, 7:2:1] 含有(4 )个数元素。
28.从一维数组A中检索所有偶数下标的元素的表达式是
(a=A(2:2:end) )。
29. 从一维数组A中检索所有奇数下标的元素的表达式是
(a=A(1:2:end) )。
30. 删除一维数组A中所有奇数下标的元素的语句是
(A(1:2:end)=[] )。
31. 删除一维数组A中所有偶数下标的元素的语句是
(A(2:2:end)=[] )。
32.从N×N(N>3且是奇数)矩阵A中取出位于中心的3×3子矩
阵的表达式(
A=((N-1)
/2:(N-1)/2+2,(N-1)/2:(N-1)/2+2))。
33.设a、b、c是一维行向量,以a、b、c为列构建三列的二维数
组A的语句是(A=(a';b';c') )。
34.设a、b、c是一维列向量,以a、b、c为行构建三行的二维数
组A的语句是(A=[a';b';c'] )。
35.将二维数组A的偶数行全部元素赋0的语句是
(A(2:2:end,:)=0 )。
36.将二维数组A的奇数列全部元素赋0的语句是
(A(:,1:2:end)=0 )。
37.将方阵A的的主对角线全部元素赋5的语句是
(A(logical(eye(size(A))))=5 或
eye(N)*5)。
38. 删除二维数组A的所有奇数行的语句是
(A(1:2:end,:)=[] )。
39. 删除二维数组A的所有偶数列的语句是
(A(2:2:end,:)=[] )。
40.实现将3×3数组A扩充为6×6数组,扩充的元素用0填充的
语句是(A(6,6)=0 )。
41. 绘制极坐标图形的Matlab库函数名是(polar)。
42. 将图题设置成“Fig. 1 示意图”的语句是(title('Fig.1示意图
') )。
43. 将横坐标轴标签设置成“时间(秒)”的语句是(xlabel('时间(秒)
') )。
44. 设置图例的Matlab库函数名是
(legend )。
45. 绘制三维线图的Matlab库函数名是
(plot3 )。
46. 绘制三维网格图的Matlab库函数名是
(mesh )。
47. 绘制三维表面图的Matlab库函数名是
(surf )。
48. 关闭网格显示的Matlab语句是(grid
off )。
49. 关闭坐标架显示的Matlab语句是(axis
off )。
50. 使得各坐标具有相同刻度间隔的Matlab语
(axis('equal') )。
51. 将三维图形视角设置成方位角60度、仰角45度的语句是
(view(60,45) )。
52. 绘制二维等高线图的Matlab库函数名是
(surfc )。
53. 在同一图形窗口中开多个子窗口的Matlab库函数名是
(subplot )。
选择题
1. 执行语句x=55后,Matlab将创建变量x,为其分配的存储空间
的大小为(C)
A)2字节B)4字节C)8字节D)16字节
2. 执行语句y=66后,Matlab将创建变量y,其类型为(D )
A)int8 B)int16 C)single D)double
3. 下列整数类型中,不能参与任何运算的类型为(D )
A)int8 B)int16 C)int32 D)int64
4. 设已执行语句x=3>2; y=x>0后,下面表达式中错误的是(D )
A)x+y B)x-y C)x*y D)x/y
5. 下列的数组写法中错误的是(C)
A)[1:9] B)1:9 C)[1:2:9;2:2:8] D)[1:3;4:6;7:9]
6. 设有数组定义:x=[1,2,3,4,5,6], y=x' ,下列表达式中正确的是
(D)
A)y+x B)y-x C)y./x B)y*x
7. 执行语句for x=1:2:10, disp(x), end,循环体将执行几次(B)
A)10次B)5次C)1次D)0次
8. 函数首部格式为function [out1,out2]=myfunc(in1,in2),不正确的
调用格式是(C )
A)[x,y]=myfunc() B)myfunc(a,b) C)[x,y]=myfunc(a)
D)x=myfunc(a,b)
9. 语句 x=-1:0.1:1;
plot([x+i*exp(-x.^2);x+i*exp(-2*x.^2);x+i*exp(-4*x.^2)]' ),绘制( B )
A)1条曲线 B)3条曲线 C)21条曲线 D)0条曲线
计算
1.已知多项式323)(2345+++-=x x x x x f ,133
1)(23
--+=
x x x x g ,写出2.计算下列问题的MA TLAB 命令序列 (1)
)(x f 的根
解:>> p1=[3,-1,2,1,3];
>> x=roots(p1) x =
0.6833 + 0.9251i 0.6833 - 0.9251i -0.5166 + 0.6994i -0.5166 - 0.6994i (2)
)(x g 在闭区间[-1,2]上的最小值
解:>> [y,min]=fminbnd(@(x)((1/3)*x.^3+x.^2-3*x-1),-1,2)
y =
1.0000
min =
-2.6667 (3)
)()(x g x f ⋅和)(x f 的导数
解:>> p1=[3,-1,2,1,0,3];
>> p2=[0,0,1/3,1,-3,-1]; >> p3=conv(p1,p2) p3 =
Columns 1 through 5
0 0 1.0000 2.6667 -9.3333 Columns 6 through 10
2.3333 -4.0000 -4.0000 2.0000 -9.0000 Column 11 -
3.0000
所以f(x)*g(x)=x^8+2.6667*x^7-9.3333*x^6+2.3333*x^5-4*x^4-a*x^3+2*x^2-9*x-3 >> p1=[3,-1,2,1,0,3];
>> k=polyder(p1) k =
15 -4 6 2 0
3. 用数值积分法计算下列积分,写出相应的MA TLAB 命令
(1)
2x
I =
x e cos(x/2)dx π
π
-⎰ (用梯形算法)
解:>> x=linspace(-2,2);
>> y=x.^2.*exp(x).*cos(x./2); >> I=trapz(x,y) I =
9.1613 0.6011
4. 写出计算级数
2n
S1x x x
=++++
前n+1项和的命令序列,取n=500, x=π/5。
解:>> n=0:500;
>> x=pi/5;
>> S=sum(x.^n)
S = 2.6905
5.已知多项式P1(x)=x4-2x+1和P2(x)=x2+4x-0.5,写出完成下列任务的MA TLAB命令序列。
(1)求两多项式的和P3(x)=P1(x)+P2(x)
解:>> p1=[1,0,0,-2,1];
>> p2=[0,0,1,4,-0.5];
>> p3=p1+p2
p3 =
1.0000 0 1.0000
2.0000 0.5000
(2)求多项式的积P4(x)=P2(x)×P3(x)和P4的导数和根
解:>> p2=[0,0,1,4,-0.5];
>> p3=[1,0,1,2,0.5];
>> p4=conv(p2,p3)
p4 =
Columns 1 through 5
0 0 1.0000 4.0000 0.5000
Columns 6 through 9
6.0000 8.0000 1.0000 -0.2500
>> p4=[0,0,1,4,0.5,6,8,1,-0.25];
>> k=polyder(p4)
k =
6 20 2 18 16 1
>> p4=[0,0,1,4,0.5,6,8,1,-0.25];
>> x=roots(p4)
x =
-4.1213
0.5634 + 1.3057i
0.5634 - 1.3057i
-0.8282
-0.2985
0.1213
(3)在同一窗口绘制四个多项式的图,并添加标签为P1、P2、P3、P4图例。
x的取值范围[-1, 1],步长0.01。
解:>> x=-1:0.01:1;
>> p1=[1,0,0,-2,1];
>> p2=[0,0,1,4,-0.5];
>> y3=polyval(p3,x);
>> x=-1:0.01:1;
>> p1=[1,0,0,-2,1];
>> p2=[0,0,1,4,-0.5];
>> p3=[1,0,1,2,0.5];
>> y4=polyval(p4,x); >> y1=polyval(p1,x); >> y2=polyval(p2,x); >> y3=polyval(p3,x); >> y4=polyval(p4,x);
>> plot(x,y1,'r',x,y2,'b',x,y3,'g',x,y4,'k'); >> legend('p1','p2','p3','p4')
6. 设有矩阵A 和B ,写出完成下列任务的MATLAB 命令序列。
⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥
⎢
⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
⎣⎦
1221
1
23171
2368
233354A =, B =6
3533553493239
3
7
9
5
4
88
4
2
3 (1)求它们的乘积矩阵C
解:>> A=[1,2,2,1;2,3,6,8;6,3,5,3;3,2,3,9;8,4,2,3];
>> B=[1,2,3,1,7,1;2,3,3,3,5,4;3,5,5,3,4,9;3,7,9,5,4,8]; >> C=A*B C =
14 25 28 18 29 35 50 99 117 69 85 132 36 67 79 45 89 87 43 90 111 63 79 110 31 59 73 41 96 66 (2)将矩阵C 的右下角3×2子矩阵赋给D
解:>>C=[14,25,28,18,29,35;50,99,117,69,85,132;36,67,79,45,89,87;43,90,111,63, 79,110;31,59,73,41,96,66]
C =
14 25 28 18 29 35 50 99 117 69 85 132 36 67 79 45 89 87 43 90 111 63 79 110 31 59 73 41 96 66
>> D=C(end-2:end,end-1:end) D =
89 87 79 110 96 66
(3)将矩阵B 的中部的2×4子矩阵元素置0 >> B(2:3,2:5)=0 B =
1 2 3 1 7 1 2 0 0 0 0 4 3 0 0 0 0 9 3 7 9 5 4 8
(4)从A 中选出所有大于4的元素,组成行向量赋给变量x
>> x=A(A>4)' x =
6 8 6 5 8 9 (5)将A 中所有大于4的元素平方 >> A(A>4)=A(A>4).^2 A =
1 2 2 1 2 3 36 64 36 3 25 3 3 2 3 81 64 4 2 3
7.已知 ⨯ax
-ax
e
-e x +a y =
sin(x +a)+a ln 2
2
, 写出完成下列任务的MA TLAB 命令序列。
(1)当
==a , x π0.31+
i 4
时,求y 的值
解:>> a=0.3;
>> x=1+i*pi/4;
>> y=(exp(a*x)-exp(-a*x))/2*sin(x+a)+a*log((x+a)/2)
y =
0.2387 + 0.5433i
(2)取a=0.02, x 在区间[0, 12π], 取样间隔为0.01, 绘制函数曲线 解:>> a=0.02;
>> x=0:0.01:12*pi;
>> y=((exp(a*x)-exp(-a*x))/2).*sin(x+a)+a*log((x+a)/2); >> plot(x,y)
8.写出计算级数2462n
n-1x x x x S =1-+-++(-1)+2!4!6!(2n)!
前n+1项和的命令序列,取 n=100, x=pi/3。
解:>> x=pi/3;
>> n=100; >> r=0:2:2*n; >> sng=ones(size(r)); >> sng(2:2:end)=-1;
>> S=sum(sng.*x.^r./factorial(r)) S =
0.5000
9.判断下列线性方程组有唯一解,然后解之。
写出MATLAB 命令序列。
(1)用矩阵表示为:AX=B ;
A=[2,-1,0,0,0;-1,2,-1,0,0;0,-1,2,-1,0;0,0,-1,2,-1;0,0,0,-1,2]; B=[1;0;0;0;0]; (2)计算rank(A)和rank([A,B]),若两者相等,则存在唯一解; rank(A)=5
⎧⎪⎪⎪
⎨⎪⎪⎪⎩121232343
45
452x -x =1
-x +2x -x =0
-x +2x -x =0-x +2x -x =0
-x +2x =0
rank([A,B])=5
(3)X=inv(A)*B,求出X 的值。
X=inv(A)*B
10.设有多项式5
4321p (x)=40x +46x +7x +46x +36x 和22p (x)=8x +6x -1.
(1)写出
1p 和2p 的MATLAB 表达式。
解:>> p1=[40,46,7,46,36,0]
p1 =
40 46 7 46 36 0
>> p2=[0,0,0,8,6,-1] p2 =
0 0 0 8 6 -1
(2)写出两个多项式相乘积存入变量M 的MATLAB 表达式。
解:>> p1=[40,46,7,46,36,0]
p1 =
40 46 7 46 36 0
>> p2=[0,0,0,8,6,-1] p2 =
0 0 0 8 6 -1
>> M=conv(p1,p2) M =
Columns 1 through 8
0 0 0 320 608 292 364 557 Columns 9 through 11 170 -36 0
(3)写出多项式1p 除以2p ,并将商式存入变量A ,余式存入变量B 的MA TLAB 语句。
解:>> p1=[40,46,7,46,36,0]
p1 =
40 46 7 46 36 0 >> p2=[8,6,-1] p2 =
8 6 -1 >> [A,B]=deconv(p1,p2) A =
5 2 0
6 B =
0 0 0 0 0 6
(4)写出多项式1p 的微分的MATLAB 表达式。
解:
5.下面的程序段用来绘制如图的外接圆为R ,N 边正多边形。
function drawP R=10; N=12;
drawPolygen(R,N); %子函数
function drawPolygen(R, N) delta=2*pi/N; phi=0:delta:2*pi;
x= R.*cos(phi) %BLANK%
y= R.*sin(phi)%BLANK%
plot(x,y);
for ii=1:length(x)
line( [x(i),x(i+1)],[y(i),y(i+1)] ); %BLANK%
end;
b=R+1;
axis([-b,b,-b,b]);
axis equal;
axis off;
6.求2~999中满足条件的数:该数是素数且各位数字之和为奇数。
function bv=mainfunc()
t=2:299;
bv=[];
t=t(isprime(t));
for i=1:length(t)
if subfunc(t(i))==1 %BLANK%
bv=[bv,t(i)];
end;
end;
%子函数
function v=subfunc(n)
bv=0;
s=0;
while n>0
s= s+n%10;%BLANK%
n=fix(n/10);
end;
v=logical(rem(s,2));
●MATLAB系统的启动
与一般的Windows程序一样,启动MA TLAB系统有3种常见方法:
(1)使用Windows“开始”菜单。
(2)运行MA TLAB系统启动程序matlab.exe。
(3) 利用快捷方式
●MATLAB系统的退出
要退出MA TLAB系统,也有3种常见方法:
(1) 在MA TLAB主窗口File菜单中选择Exit MA TLAB命令。
(2) 在MA TLAB命令窗口输入Exit或Quit命令。
(3) 单击MA TLAB主窗口的“关闭”按钮。
●在MATLAB系统中使用帮助方式有三:
(1)是利用help指令,如果你已知要找的题材 (topic) 为何的话,直接键入help <topic>。
所以即使身旁没有使用手册,也可以使用help指令查询不熟
悉的指令或是题材之用法,例如help sqrt (2)是利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出所有相关的题材,例如lookfor cosine, lookfor sine。
(3)是利用指令视窗的功能选单中的Help,从中选取Table of Contents(目录)或是Index(索引)。
●常用的产生通用特殊矩阵的函数有:
zeros:产生全0矩阵(零矩阵)。
ones:产生全1矩阵。
eye:产生单位矩阵。
rand:产生0~1间均匀分布的随机矩阵。
randn:产生均值为0,方差为1的标准正态分布随机矩阵。
如果需要产生均匀随机数不是介于[0,1]区间,可以采用以下步骤将数值从[0,1]区间转换到其它区间。
假设要得到一组数值是介于[2,4]区间,我们先产生一组数介于[0,1]区间,再将其值乘以2,因为2等于区间上下限的差值(4-2)。
接著再加上下限值(2),即可得到乱数值是介于[2,4]区间。
例如区间为[a,b],a为下限值,b 为上限值。
则算式如下
x=(b-a)*r + a,
如果需要产生正态随机数值的平均值和方差并非0和1,可以采用以下步骤将平均值和变异数做转换。
假设要得到一组数值的平均值为b和方差为a,我们先产生一组数r,再将其值乘以方差a。
接著再加平均值b。
算式如下
x=a*r + b
●变量命名规则:(注意函数名的命名规则)
1.变量名的大小写是敏感。
2.变量的第一个字符必须为英文字母。
3.变量名可以包含下连字符、数字,但不能为空格符、标点。
●创建向量的方法
1、直接输入法
2、利用冒号运算创建向量
3、使用函数linspace和logspace
(利用帮助理解logsapce函数的规则)
●linspace(a,b,n)的冒号表达式的等价形式:a:(b-a)/(n-1):b等价
●A(:,j)表示取A矩阵的第j列全部元素;
●A(i,:)表示A矩阵第i行的全部元素;
●A(i,j)表示取A矩阵第i行、第j列的元素。
●A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;
●A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,
●A(i:i+m,k:k+m) 表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
●矩阵元素的访问
x =[1 2 3 4 5 6 7 8;
4 5 6 7 8 9 10 11]; %二维2x8 矩阵
» x(3) % x的第三个元素
ans =
2
» x([1 2 5]) % x的第一、二、五个元素
ans =
1 4 3
>> x(2,3) % x的第二行第三列的元素
ans =
6
x(1:5) % x的第前五个元素
ans =
1 4
2 5 3
» x(10:end) % x的第十个元素后的元素
ans =
8 6 9 7 10 8 11
» x(10:-1:2) % x的第十个元素和第二个元素的倒排
ans =
8 5 7 4 6 3 5 2 4
» x(find(x>5)) % x中大于5的元素
ans =
6 7 8 6 9 7 10 8 11
» x(4)=100 %给x 的第四个元素重新给值 x =
1 2 3 4 5 6 7 8 4 100 6 7 8 9 10 11
» x(3)=[] % 删除第三个元素(不是二维数组) x =
Columns 1 through 12
1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 15 10 8 11
» x(16)=1 % 加入第十六个元素 x =
Columns 1 through 12
1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 16 10 8 11 1
● 矩阵元素全下标和单下标的的转换关系:以m n ⨯的矩阵为例,该矩阵的第i 行第j 列的元素全下标表示为单下标(1)l j m i =-⨯+
● 对复数举证,矩阵转置和数组转置的区别 ●
逻辑运算和关系运算
利用逻辑运算和关系运算在数组中找到某些符合条件的元素。
●
一些基本函数
round(x) 将x 值进位至最接近的整数 fix(x) 将x 值进位至最接近0的整数 floor(x) 将x 值进位至最接近-∞的整数 ceil(x) 将x 值进位至最接近∞的整数
sign(x) 如果x <0传回值为-1,如果x =0传回值为0,如果x >0传回值为 rem(x,y) 传回x/y 的余数,例如rem(25,4)的值为1 exp(x) 指数函数
log(x) 以e 2.718282为底的对数函数,及自然对数 log10(x) 为10底的对数函数 ●
简单的编程
1、编程创建一个5×5的方阵,要求所有的对角线上的元素值为3,对角线右上角的所有元素值为2,对角线左小方的所有元素值为1
2、编写程序求[100,200]之间第一个能被21整除的整数。
3、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。
输出全部水仙花数。
例如: 333351153++=
4、利用for 循环求1!+2!+3!+ 4!+5!的值
5、计算分段函数的值。
⎪⎪⎩
⎪⎪⎨⎧>++≤+=0
21lg 022x x x x e x y π
6、写出下列程序的执行结果。
s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a s=s+k; end disp(s');
7、Fibonacci 数组的元素满足Fibonacci 规则:21k k k a
a a ++=+,(1,2,k = )
;且
121
a a ==。
现要求该数组中第一个大于10000 的 元
素。
8、for 循环指令来寻求Fibonacc 数组中第一个大于10000 的元素。
9、矩阵323426781A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,矩阵111222333B ⎡⎤
⎢⎥=⎢⎥⎢⎥⎣⎦
;分别求出矩阵
A B ⨯及A 与B 中对应元素之间的乘积.
10、利用111
14357
π
≈-+-+ 公式求π的近似值,直到最后一项小于610- ●
脚本文件:(1)它只是一串按用户意图排列而成(包括控制流指令在内的)MA TLAB 指令集合。
(2)脚本文件运行后,所产生的所有变量都驻留在MA TLAB 基本工作区间。
只用用户不使用clear 指令加以清除,且MA TLAB 指令窗不关闭,这些变量就能将一直保存在基本工作区间中。
基本工作区间岁MA TLAB 的启动而产生,只用关闭MA TLAB 时,该基本空间才被删除。
函数文件:(1)从形式上看,与脚本文件不同,函数文件的第一行总是以“function ”引导的“函数申明行”,该行列出函数与外部联系的全部输入输出变量。
(2)从运行上看,与脚本文件不同,每当函数文件运行,MA TLAB 就会专门为它开辟一个临时的工作区间,所有中间变量都存放在这个临时函数工作区间。
当执行完文件最后一条指令或遇到ruturn 时,就结束该函数文件的运行,同时该临时函数空间及其所用的中间变量就立即被清除。
(3)函数空间随具体M 函数文件的被调用而产生,随调用结束而删除,函数空间是相对基本空间独立、临时的。
在MA TLAB 整个运行期间,可以产生任意多个临时函数空间。
(4)MA TLAB 允许使用比函数定义中较少的输入输出变量,实现对函数的调用(5)假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所以变量都存放于该函数空间中,而不是存放在基本空间。
● 全局变量及局部变量的区别:局部变量是存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。
通过global 指令,MA TLAB 允许几个不同的函数空间及基本工作空间共享一个变量,这种背共享的变量称为全局变量,每个希望共享全局变量的函数或MA TLAB 基本工作空间,必须逐个用global 对具体变量加以专门定义。
没采用global 定义的函数或基本工作空间经无权享用全局变量。
● 子函数与私有函数的区别:p136
●
数据图形的可视化
s ’) 字s 设定式
subplot(m,n,p) —— 按从左至右,从上至下排列 bar –––– 绘制直方图 stem –––– 绘制火柴杆图 polar –––– 绘制极坐标图 pie –––– 饼图
plot3(X,Y,Z) —— X,Y,Z 是维数相同的矩阵 mesh 函数 surf 函数
xlabel('x 轴'); % x 轴注解 ylabel('y 轴'); % y 轴注解 title('余弦函数'); % 图形标题 legend('y = cos(x)'); % 图形注解
gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置
grid on; % 显示格线
、在[0,4pi]范围内画sin(x),cos(x)(在同一个图象
); 其中cos(x)图象用红色小圆圈画.并在函数
“y=sin(x)”, “y=cos(x)” ,x 轴,y 轴,标题“正弦余弦函数图象”
、画椭圆12
32222=+y x
、用不同标度在同一坐标内绘制曲线-0.5x cos(4πx) 和y2=2e -0.5x cos(πx)。
4、采用图形保持,在同一坐标内绘制曲线y1=0.2e -0.5x cos(4πx) 和y2=2e -0.5x cos(πx)。
5、在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e -0.5x cos(4πx) 和y2=2e -0.5x cos(πx),标记两曲线交叉点。
6、在同一坐标中,可以绘制3个同心圆,并加坐标控制。
7、 画出
2
2
22)
sin(y
x y x z ++=
所表示的三维曲面。
y x ,的取值范围是]8,8[-
简单题型:
1、写出计算 Sin(30o )的程序语句. (填写程序语句) sin(pi*30/180) 或 sin(pi/6)
若用户想计算
5
1)3.0sin(21+=
πy 的值,那末用户应依次键入以下字符
y1=2*sin(0.3*pi)/(1+sqrt(5))
2, 建立起始值=3,增量值=5.5,终止值=44的一维数组x (填写程序语句)
x=(3:5.5:44)
3, 建立等差一维数组x:首项为0,末项为
,项数为15 (填写程序语句)
x=linspace(0,pi,15)
4、A=Logspace(1,3,3) A=[10 100 1000]
5、A=1:9 B=(A>3)&(A<7)=[0 0 0 1 1 1 0 0 0]
6、设A为2×3矩阵, 建立与矩阵A同样大小的零矩阵。
解:A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵A
zeros(size(A)) %产生一个与矩阵A同样大小的零矩阵
7、求一元二次方程ax2 +bx+c=0的根。
程序如下:
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))]);
8、建立随机矩阵:
(1) 在区间[20,50]内均匀分布的5阶随机矩阵。
(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。
解:x=20+(50-20)*rand(5)
y=0.6+sqrt(0.1)*randn(5)
9、产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。
(1) 生成5阶随机方阵A。
A=fix((90-10+1)*rand(5)+10)
(2) 判断A的元素是否可以被3整除。
P=rem(A,3)= =0
其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。
此时,0被扩展为与A同维数的零矩阵,P是进行等于(==)比较的结果矩阵。
10、建立一个字符串向量,然后对该向量做如下处理:
(1) 取第1~5个字符组成的子字符串。
(2) 将字符串倒过来重新排列。
(3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。
(4) 统计字符串中小写字母的个数。
(abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。
相反,char函数可以把ASCII码矩阵转换为字符串矩阵。
)
解:ch=…ABc123d4e56Fg9‟;
subch=ch(1:5) %取子字符串
revch=ch(end:-1:1) %将字符串倒排
k=find(ch>=…a‟&ch<=…z‟); %找小写字母的位置
ch(k)=ch(k)-(…a‟-…A‟); %将小写字母变成相应的大写字母
char(ch)
length(k) %统计小写字母的个数。