当前位置:首页 >> 数学 >>

2012Matlab试题及解答


1. 要在命令窗口中查看对数函数log的帮助信息,所用命令是help log。 2. 删除工作空间中保存的变量A的命令是clear A。 3. 在Matlab命令窗口输入(2*sin(85*pi/180))/(1+exp(2))



可以计算表达式

2sin 85? 1 ? e2

的值。

4. 在同一图形窗口中开多个子窗口的Matlab函数名是subplot。 5. 设a是一维数组,a的倒数第3个元素表示为 a(end-2) 。



6

求多项式 x

4

? 8x3 ? 10 的根的命令为 roots([1,8,0,0,-10])。

二、阅读程序并回答问题(本大题共3小题,每小题5分,共15分) 7. A=zeros(2,4); A(:)=1:8;

线

s=[2 3 5]; Sa=[10 20 30]'; A(s)=Sa A A= 1 10 20 4 30 6 7 8 ..............................5 分 8. 写出下列程序的输出结果。 B{1,1}=1; B{1,2}='Breden'; B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4,23,67}; B(3)=[]; B B= [1] s=0; a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4 [3x3 double] {3x3 cell} 9. 写出下列程序的输出结果: ;

1

if rem(k(j),2)~=0 s=s+k(j); end end end s s= 108 ..............................5 分

三、编写程序解答下列各题(本大题共4小题,每小题8分,共32分) 10.从键盘输入若干个数,当输入 0 时结束输入,求这些数的平均值和它们的和。 sum=0; n=0; x=input('Enter a number (end in 0):'); while (x~=0) sum=sum+x; n=n+1; x=input('Enter a number (end in 0):'); end if (n>0) sum mean=sum/n end 11. 一个3位数各位数字的立方和等于该数本身则称该数为水仙花数。输出100~999之间的全部水 仙花数。 for m=100:999 m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m/10); if m == m1*m1*m1+ m2*m2*m2+ m3*m3*m3 disp(m) 2

end end 12. (1)编写函数文件(函数名qiuhe),用于计算 (2)编写命令文件,调用函数qiuhe,计算 100 (1) function sum=qiuhe(n,m) if n<=1 sum=0; else sum=n^m+qiuhe(n-1,m);

?i
i ?1
2

n

m

; 。

?k ? ?k
k ?1 k ?1

50

??
k ?1

10

1 k





end (2) clear all y=qiuhe(100,1)+qiuhe(50,2)+qiuhe(10,-1); disp(y) ..............................8 分

线

13.分段函数定义为

? x? ? ? y ? ?1 2 ? ln( x ? 1 ? x ?2

x?0 x?0

绘制其图像,坐标范围设定为 x 轴为-5 到 5,50 个点等距采样,y 轴为-10 到 10,给坐标加网格 线,x 轴标注文字?Variable X?,y 轴标注文字?Variable Y?,图形标题为?分段函数曲线?。 x=linspace(-5,5,50); y=(x<=0).*(x+sqrt(pi))+(x>0).*(0.5*log(x+sqrt(1+x.*x))); plot(x,y) axis([-5 5 -10 10]) %设置坐标轴 title('分段函数曲线'); %加图形标题 xlabel('Variable X'); %加 X 轴说明 ylabel('Variable Y'); %加 Y 轴说明
1.5CM

gird on

..............................8

四、解答题(写出相应程序)(本大题共4小题,每小题6分,共24分) 14. (1)建立在区间[20,50]内均匀分布的5阶随机矩阵A; (2)找出在[30,40]区间的元素的位置; (3)将这些元素的值加10, 其余的不变. (1) A=10*(3*rand(5)+2), ..............................2分 3

(2) k=find(A>=30&A<=40); (3) A(k)=A(k)+10; 15. 绘制函数

..............................2分 ..............................2分

z ? cos x sin y
的三维网格曲面图。其中x的21个值均匀分布在[-5,5]范围,y的范围为 [0, 2? ] ,采样间隔设为

?
100

.

x=linspace(-5,5,21) y=0:pi/100:2*pi [X,Y]=meshgrid(x,y); z=cosx.*siny; mesh(x,y,z); 16. 绘制曲线 .............2 分 ............. 2 分 .............2 分

y ? 3x ? sin x
要求先利用默认属性绘制曲线,然后通过图形句柄操作改变曲线的颜色为红色,线型为虚线,线 宽为2,并利用文字对象按默认属性在位置(2,2)处给曲线添加文字标注’y=3x+sinx’。 x=linspace(0,2*pi,100); y=3*x+sin(x); h=plot(x,y); set(h,’Color’,[1,0,0],’lineStyle’,’:’,’LineWidth’,2); text(h,20,50,’y=3x+sinx’); ..............................6 分 17.(1)函数

y ? x cos x ,求 y ?



y??



(2)求符号积分 (1)syms y=x*cos(x); dy1=diff(y,x,1) dy2=diff(y,x,2) (2)syms I=int(y) x y; y=sin(x)^2; x y;

? sin

2

xdx 。

...........6 分

五、编程求解下列高等数学问题(本大题共2小题,共11分)

4

18. 当 λ 取何值时,齐次线性方程组:

?(1 ? ? ) x1 ? 2 x 2 ? 4 x3 ? 0 ? ? 2 x1 ? (3 ? ? ) x 2 ? x3 ? 0 ? x ? x ? (1 ? ? ) x ? 0 2 3 ? 1
有非零解。 分) (5 syms lamda A=[1-lamda,-2,4;2,3-lamda,1;1,1,1-lamda]; D=det(A); factor(D) ...........5 分 19.已知微分方程组





线

? dx ? dt ? 3 x ? 4 y ? ? dy ? 5 x ? 7 y ? ? dt ? x (0) ? 0 ? y (0) ? 1 ?
求其符号解和数值解,并画图进行比较(6 分) 。 (1)求符号解并画图 [X,Y]=dsolve(‘Dx=3*x+4*y’,’Dy=5*x-7*y’,’x(0)=0’,’y(0)=1’,’t’) t=0:0.1:10 X=eval(X); Y=eval(Y); plot(t,X,t,Y); (2) 求数值解并画图 建立 m 文件 fun.m function 运行程序 z0=[1;0]; tspan=[0;10]; [t,z]=ode45(‘fun’,tspan,z0); plot(t,z(:,1),t,z(:,2)) 一、填空题(本大题共6小题,每小题3分,共18分) 1. 在Matlab命令窗口输入 (5+(cos(47*pi/180))/sqrt(7) ...........3 分 zdot=fun(t,z) zdot=[3*z(1)+4*z(2); 5*z(1)-7*z(2)]; ...........3 分

5

可以计算表达式

5 ? cos 47? 7

的值。

2. 用命令zeros(size(A))可以建立一个与矩阵A同样大小的零矩阵。 3. 把一个图形显示在一个图像窗口的m×n个子图像中的第p个位置的命令是subplot(m,n,p) 4. 函数roots用于求多项式的全部根。 5. 利用函数fminbnd求一元函数(函数文件为filename)在(x1,x2)区间中的最小值点x和最小值 fval的调用格式为[x,fval]= (filename,x1,x2).
2

6. 求微分方程 x

dy ? 2 xy ? e x 的通解的命令为 y=dsolve('Dy*x^2+2*x*y-exp(x)','x') dx

二、阅读程序并回答问题(本大题共3小题,每小题5分,共15分) 7. 下列命令执行后,L1,L2,L3,L4 的值分别是多少 A=1:9; B=10-A; L1=A==B; L2=A<=5; L3=A>3 & A<7; L4=find(A>3&A<7); L1 = L2 = L3 = L4 = 0 1 0 4 0 1 0 5 0 1 0 6 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0

..............................5 分

8. 写出下列程序的输出结果。 s=0; a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a s=s+k; end disp(s'); 39 48 57 66 ..............................5 分

9. 写出下列程序的输出结果: A=[1 2 3;4 5 6];B=[7 8 9;10 11 12]; try C=A*B; catch C=A.*B; end 6

C C= 7 40
1.5CM

16 55

27 72

三、编写程序解答下列各题(本大题共4小题,每小题8分,共32分) 10. 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用 price 来表示):



price<200 200≤price<500 500≤price<1000 1000≤price<2500 2500≤price<5000 5000≤price

没有折扣 3%折扣 5%折扣 8%折扣 10%折扣 14%折扣



输入所售商品的价格,求其实际销售价格。 price=input('请输入商品价格'); switch fix(price/100) case {0,1} %价格小于 200 rate=0; case {2,3,4} %价格大于等于 200 但小于 500 rate=3/100; case num2cell(5:9) %价格大于等于 500 但小于 1000 rate=5/100; case num2cell(10:24) %价格大于等于 1000 但小于 2500 rate=8/100; case num2cell(25:49) %价格大于等于 2500 但小于 5000 rate=10/100; otherwise %价格大于等于 5000 rate=14/100; end price=price*(1-rate) %输出商品实际销售价格 ..............................8 分 11. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500] 之间的全部完数。(提示:因子的判别可以利用求余函数rem或mod) for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end

线

7

end if m==s disp(m); end end 12. Fibnacci数列 { ..............................8分

f n } 定义为: f1 ? 1, f 2 ? 1, f n ? f n?1 ? f n? 2 (n ? 2)

(1)编写函数文件(函数名Fibnacci),返回Fibnacci数列的第n项; (2)编写命令文件,调用函数Fibnacci,输出Fibnacci数列的各项。 (1)函数文件 function f=fibnacci(n) if n==1 | n==2 f=1; else f=fibnacci(n-1)+fibnacci(n-2); end (2)命令文件: shulie=[]; for k=1:n shulie=[shulie fibnacci(k)]; end shulie 13.分段函数定义为 ..............................8 分

? ? ? f ( x) ? ? ? ? ?

x, 2 5-x / 2 1

0? x? 4 4? x ? 6 6? x?8 x?8

绘制其图像, 坐标范围设定为 x 轴为 0 到 10, 轴为 0 到 3, y 给坐标加网格线, 轴标注文字 x “Variable X”,y 轴标注文字“Variable Y”,图形标题为“分段函数曲线”。 x=linspace(0,10,100); y=[]; for x0=x if x0>=8 y=[y,1]; elseif x0>=6 8



y=[y,5-x0/2]; elseif x0>=4 y=[y,2]; elseif x0>=0 y=[y,sqrt(x0)]; end end plot(x,y) axis([0 10 0 2.5]) title('分段函数曲线'); xlabel('Variable X'); ylabel('Variable Y'); gird on

%设置坐标轴 %加图形标题 %加 X 轴说明 %加 Y 轴说明 ..............................8 分

1.5CM

四、解答题(写出相应程序)(本大题共4小题,每小题6分,共24分)


14. 设 A

? 4 15 ?45 10 6 ? ?? ?, ? 56 0 17 ?45 0 ?

(1)在Matlab命令窗口建立矩阵A并显示; (2)找出在[10,20]区间的元素的位置;

线
(3)将这些元素的值加30, 其余的不变. (1) A=[4,15,-45,10,6;56,0,17,-45,0], (2) k=find(A>=10&A<=20); (3) A(k)=A(k)+30; ..............................2分 ..............................2分 ..............................2分

15. 在xy平面内选择区域[-10,10]×[-10,10](采样点间隔0.5)绘制函数 z 三维网格曲面图。 [x,y]=meshgrid(-10:0.5:10); .............2 分 z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); ....2 分 mesh(x,y,z); ..............................2 分

?

sin x 2 ? y 2 x2 ? y2



16. 建立一个图形窗口。该图像窗口没有菜单条,标题名称为“图形窗口示例” ,起始与屏幕左 下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一 个键是,将显示“Hello,Keyboard Key Pressed”字样。 hf=figure('Color',[0,1,0],'Position',[1,1,300,150],... 'Name','图形窗口示例','NumberTitle','off','MenuBar','none',... 'KeyPressFcn','disp(''Hello,Keyboard Key Pressed.'')'); ..............................6 分

9

17. 在区间 [0,

2? ] 均匀选择50个采样点,用一个三次多项式 p( x ) 逼近函数 sin x 并用绘图

的方法将多项式 据点,

p( x ) 和 sin x 比较,

在同一坐标系绘制,sin x 用蓝色虚线, 圆圈标记数

p( x ) 用红色实线,星号标记数据点。

X=linspace(0,2*pi,50); Y=sin(X); P=polyfit(X,Y,3) X=linspace(0,2*pi,20); Y=sin(X); Y1=polyval(P,X) plot(X,Y,'b:o',X,Y1,'r-*')...........6 分 五、编程求解下列高等数学问题(本大题共2小题,共11分) 18. 求解有约束最优化问题(6分)。

? x1 ? 0.5 x2 ? 0.4 ? s . t . ? 0.5 x1 ? x2 ? 0.5 ? x ? 0, x ? 0 ? 1 2

min

2 2 f ( x ) ? 0.4 x2 ? x1 ? x2 ? x1 x2 ?

1 3 x1 30

(1)建立目标函数M文件fop.m。 function f=fop(x) f=0.4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)+1/30*x(1)^3;........2 分 (2)调用fmincon函数求解 x0=[0.5;0.5]; A=[-1,-0.5;-0.5,-1];b=[-0.4;-0.5];lb=[0;0]; option=optimset; ='off'; [x,f]=fmincon('fop ',x0,A,b,[],[],lb,[],[],option)..4 分 19. 设有初值问题: option.LargeScale='off'; option.Display

y' ?
试求其数值解并绘图(5 分) 。 (1) 建立函数文件 funt.m。

y2 ? t ? 2 , ? t ? 1 ,y(0)=2 0 4(t ? 1)

function y=funt(t,y) y=(y^2-t-2)/4/(t+1);......2 分 (2) 求解微分方程。 t0=0;tf=10; y0=2;[t,y]=ode23('funt',[t0,tf],y0); plot(t,y);....3 分

10


赞助商链接
相关文章:
2012 matlab 试题
MATLAB习题及答案-2012版本... 25页 2财富值 MATLAB考查2012 5页 免费 第1章 方差分析及MATLAB实... 90页 1财富值如要投诉违规内容,请到百度文库投诉中心;如...
2012MATLAB期末考试试卷汇总
2012MATLAB期末考试试卷汇总_理学_高等教育_教育专区。MATLAB 期末考试试卷及其参考答案一、填空题 1、MATLAB 常用操作界面包括 、工作空间窗口、、 、内存数组编辑器...
2012年数学实验matlaB复习题
2012 年数学实验复习题 一、选择题 1、三阶幻方又称为九宫图,提取三阶幻方...matlab数学实验课后答案 35页 2下载券 MATLAB数学实验100例题解... 33页 5下载...
MATLAB语言及应用-A卷_2012及答案
MATLAB语言及应用-A卷_2012及答案_理学_高等教育_教育专区。———密———封...kjxykws 5/16/2015 9:59 PM 四、 试题参考答案课程名 称 课程代 码 T=...
MATLAB2012a课后习题解答
MATLAB2012a课后习题解答_临床医学_医药卫生_专业资料。今日推荐 180...2014年12月大学四级冲刺试题及答案 2014年12月大学英语四级经典参考范文68份文档...
MATLAB2012a课后习题解答_部分
MATLAB2012a课后习题解答_部分_计算机硬件及网络_IT/计算机_专业资料。(习题 K?...2014证券资格证券交易高分突破试卷及答案 2014年证券考试《投资基金》考前押题卷 ...
MATLAB__R2012a课后普习题答案全解
? ? MATLAB R2012a 课后习题答案全解 第一章 基础准备及入门习题 1 及解答...matlab基础练习题及答案... 13页 免费 2013 MATLAB基础 复习题 暂无评价 22...
MATLAB教程2012a习题解答1-7章完整版-张志涌-北航
MATLAB教程2012a习题解答1-7章完整版-张志涌-北航_工学_高等教育_教育专区。MATLAB教程2012a习题解答1-7章完整版,张志涌主编北航出版社出版。参考答案,仅供参考?...
MATLAB--R2012a课后普习题答案全解
MATLAB--R2012a课后普习题答案全解_理学_高等教育_教育专区。MATLAB--R2012a课后普习题答案全解,仅供参考 ? ? MATLAB R2012a 课后习题答案全解 第一章 基础...
...MATLAB语言及应用-A卷-张满生_2012_5试卷答案_图文
01120050-MATLAB语言及应用-A卷-张满生_2012_5试卷答案_理学_高等教育_教育...mdl 《MATLAB 语言及应用》试题 第1页 (共 2 页) Last printed 11/21/...
更多相关标签: