x=A\\b; 或x=inv(A)*b; %3分 3:下面的函数主要完成什么功能?(8分) function f=factor(n) if n<=1 f=1; else
f=factor(n-1)*n; end
答案:利用函数的递归调用,求n!。 4:下面的程序完成功能是什么?(8分) t=0:pi/50:3*pi; y0=exp(-t/2);
y=exp(-t/3).*sin(2*t);
plot(t,y,'-r',t,y0,':b',t,-y0,':b') xlabel(‘\\bf\\it t’); ylabel(‘\\bf\\it y’);
答案:在同一个图中绘制两个函数,这两个函数分别是: y=e(-t/3) y0=e(-t/3)*sin(3t) 四、编程题(每题10分,共20)
1:求解以下线性方程组,要求写出程序代码和运行结果(10分)
2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=5
答案:
>> syms a b c x >> syms x1 x2 x3 x4 >> clear
>> syms x1 x2 x3 x4
>> f = 2*x1 + 3*x2 + x3 + 2*x4 -8; >> g = x1 + 3*x2 + x4 - 6; >> h = x1 - x2 + x3 + 8*x4 - 1; >> i = 7*x1 + x2 - 2*x3 + 2*x4 -5; >> [x1,x2,x3,x4] = solve(f,g,h,i) 2:设x=sint, y=sin(nt+a),
(1)若a=1,令n =1,2,3,4,在四个子图中分别画出其曲线。
(2)若n=2,取a=0,π/3,π/2,及π,在四个子图中分别画出其曲线。 (1)matlab源程序如下; t=-pi:0.1:pi; %t的取值范围 a=1;n=1;%a=1,n=1 x=sin(t);%x的表达
y=sin(n*t+a); %y的表达式
subplot(221),plot(x,y)%在子图第一张,画出图像
hold on保持figure不关闭 t=-pi:0.1:pi; %t的取值范围 a=1;n=2; %a=1,n=2 x=sin(t);%x的表达式
y=sin(n*t+a); %y的表达式
subplot(222),plot(x,y) %在子图的第二张画出图像 hold on %保持figure不关闭 t=-pi:0.1:pi; %t的取值范围 a=1;n=3; %a=1,n=3 x=sin(t); %x的表达式
y=sin(n*t+a); %y的表达式
subplot(223),plot(x,y);%在子图的第三张,画出图像 hold on %保持figure不关闭 t=-pi:0.1:pi; %t的取值范围 a=1;n=4; %a=1,n=4 x=sin(t); %x的表达式
y=sin(n*t+a); %y的表达式
subplot(224),plot(x,y) %在子图的第四张上
五、程序填空和改错(每空5分,共20)
1:抛物线的方程为y?ax2?cx,输入c后,绘制该曲线,寻找曲线的最小值和对应的x值。小明编写程序如下: clc;clear;close all; c=input('c='); a=1;
x=-2:0.1:2;
xnum=length(x) or xnum=size(x,2);%(1)对变量xnum赋为数组x的个数 y=zeros(1,xnum); </