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

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


相关文章:
2012Matlab试题及解答.pdf
2012Matlab试题及解答 - 1. 要在命令窗口中查看对数函数log的帮助
Matlab2012-2013答案.doc
Matlab2012-2013答案_理学_高等教育_教育专区。Matlab答案 试题_2012_年~_2013_年第一学期 课程名称: 数值仿真与 matlab 考生学号: 试卷类型: A 卷√ B 卷□...
MATLAB教程2012a习题解答1-7章完整版-张志涌-北航.doc
MATLAB教程2012a习题解答1-7章完整版-张志涌-北航_工学_高等教育_教育专区。MATLAB教程2012a习题解答1-7章完整版,张志涌主编北航出版社出版。参考答案,仅供参考 ...
MATLAB2012a课后习题解答_部分.doc
MATLAB2012a课后习题解答_部分 - (习题 K? 1`000 `000
2012东南大学MATLAB考试试题及答案.doc
2012东南大学MATLAB考试试题及答案 - MATLAB 上机测验题 (考试
2012东南大学MATLAB考试试题及答案.pdf
2012东南大学MATLAB考试试题及答案 - MATLAB 上机测验题 (考试
MATLAB上机实验练习题答案2012.doc
MATLAB上机实验练习题答案2012_工学_高等教育_教育专区。11 级 MATLAB 上机实验练习题 1、给出一个系数矩阵 A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求...
MATLAB教程R2012a课后习题答案.doc
MATLAB教程R2012a课后习题答案_理学_高等教育_教育专区。? ? ? MATLAB R2012a 课后习题答案全解 第一章 基础准备及入门习题 1 及解答 ? 1.数字 1.5e2,1.5...
MATLAB教程2012a第6章习题解答-张志涌.doc
MATLAB教程2012a第6章习题解答-张志涌 - 第6章 M 文件和句柄函数 习题 6 及解答 1 请分别写出用 K? 1000000 i ?0 for 和 while ...
2012年matlab期末试卷.doc
2012matlab期末试卷_理学_高等教育_教育专区。2012 年一、 填空题 1.Matlab 指令中的续行符是 2.表达式 4 u2 的计算机表示是 3v 。。 3.等差向量产生命令...
2012级MATLAB++测试题_图文.pdf
2012级MATLAB++测试题_理学_高等教育_教育专区。 文档贡献者 HHLXX6814 贡献于2014-10-05 1 /2 相关文档推荐 Matlab试题答案 ...
MATLABR2012a课后普习题答案全解_图文.pdf
MATLABR2012a课后普习题答案全解_工学_高等教育_教育专区 暂无评价|0人阅读|0次下载 | 举报文档 MATLABR2012a课后普习题答案全解_工学_高等教育_教育专区。 ...
MATLAB考查2012纠正版.doc
MATLAB考查2012纠正版 - 2012MATLAB 与系统仿真考查试题 1. 写一个函数实现多项式的乘法和求导 (不能用 MATLAB 中已编写好的乘积和求导函数) (1 人) 2...
安徽农业大学2012 MATLAB复习题 及答案.doc
安徽农业大学2012 MATLAB复习题 及答案 - 1.MATLAB 具有功能
MATLAB教程2012a-习题解答-第六章-张志涌-北航.doc
MATLAB教程2012a-习题解答-第六章-张志涌-北航 - 第6章 M 文件和句柄函数 习题 6 及解答 1 请分别写出用 K? 1000000 i ?0 for 和 w...
西电matlab 2012试卷试题.doc
西电matlab 2012试卷试题 - 西安电子科技大学 考试时间 90 分钟 2012MATLAB 语言试题 题号 分数 1.考试形式:开卷;2.本试卷共 六 大题,满分...
MATLAB教程2012a-习题解答-第三章-张志涌-北航.doc
MATLAB教程2012a-习题解答-第三章-张志涌-北航_工学_高等教育_教育专区。MATLAB教程2012a-习题解答-共八章-张志涌-北航 第3章 数值阵列及其运算习题 3 及解答 ...
2011-2012Matlab语言期末试卷A卷答案.doc
2011-2012Matlab语言期末试卷A卷答案_理学_高等教育_教育专区。闽江学院2011-2012Matlab语言期末试卷A卷答案 20112012 学年第一学期闽江学院考试试卷 A 卷参考答案...
2011-2012_matlab_第二学期(答案).doc
2011-2012_matlab_第二学期(答案)_其它_高等教育_教育专区。东北大学MATLAB考试试题及答案 学院 班级 学号 姓名 ………东北大学考试试卷○… 2011-2012 学年第二...
2012级MATLAB++测试题.doc
2012MATLAB 基础 测试作业题学号:2011152205 姓名:周敬慈 说明:要求用 A4 ...MATLAB期末考试试卷汇总 暂无评价 22页 1下载券 MATLAB___09年试题答案.....
更多相关标签: