matlab习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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的元素的位置,分别求出它们的“全下标”和“单下标”。
解:程序如下:A=rand(3,5)
for i=1:3
for j=1:5
if A(i,j)>0.5
Aij=[i,j]
a=3*(j-1)+i
end
end
end
16. 某气象观测站测得某日6:00-18:00之间每隔2h的室内外温度(℃)如实验表1所示。
实验表1 室内外温度观测结果(℃)
时间/h681012141618
室内t118.020.022.025.030.028.024.0
室外t215.019.024.028.034.032.030.0
试用三次样条插值分别求出该日室内外6:30-17:30之间每隔2h各点的近似温度(℃)。
h=6:2:18;
x=6.5:2:17.5;
t1=[18.020.022.025.030.028.024.0];
t2=[15.019.024.028.034.032.030.0];
T1=interp1(h,t1,x,'spline')
T2=interp1(h,t2,x,'spline')。