课堂练习.docx
《课堂练习.docx》由会员分享,可在线阅读,更多相关《课堂练习.docx(13页珍藏版)》请在冰豆网上搜索。
![课堂练习.docx](https://file1.bdocx.com/fileroot1/2023-1/25/e5085614-937a-423e-90d2-8d9bd9a488b3/e5085614-937a-423e-90d2-8d9bd9a488b31.gif)
课堂练习
1、已知矩阵
。
完成下列操作命令并显示结果。
>>A=[1,2,3,4,5,6,7,7.8;
9,9,9,9,0,0,0,-2;
4,4,4,4,4,7,7,89;
8,8,7,54,3,8,0,12;
9,9,9,9,0,0,0,-2;
8,8,7,54,3,8,0,12];
(1)取出矩阵A第2~5行中第1,3,5列元素构成B。
>>B=A(2:
5,[135])
B=
990
444
873
990
(2)删除矩阵A的第三行元素构成矩阵C。
>>C=A;
C(3,:
)=[]
C=
1.00002.00003.00004.00005.00006.00007.00007.8000
9.00009.00009.00009.0000000-2.0000
8.00008.00007.000054.00003.00008.0000012.0000
9.00009.00009.00009.0000000-2.0000
8.00008.00007.000054.00003.00008.0000012.0000
(3)找出矩阵A中的0元素用0.1代替构成新的矩阵D。
>>D=A
D(find(D==0))=0.1
D=
1.00002.00003.00004.00005.00006.00007.00007.8000
9.00009.00009.00009.00000.10000.10000.1000-2.0000
4.00004.00004.00004.00004.00007.00007.000089.0000
8.00008.00007.000054.00003.00008.00000.100012.0000
9.00009.00009.00009.00000.10000.10000.1000-2.0000
8.00008.00007.000054.00003.00008.00000.100012.0000
(4)求矩阵A中每一列元素的最大值并将结果赋给变量E。
>>[M,N]=max(A);
E=M
E=
9995458789
(5)将矩阵A中每一列元素做降序排列并将结果赋给变量F。
>>[a,j]=sort(A,1,'descend');
>>F=a
F=
9.00009.00009.000054.00005.00008.00007.000089.0000
9.00009.00009.000054.00004.00008.00007.000012.0000
8.00008.00007.00009.00003.00007.0000012.0000
8.00008.00007.00009.00003.00006.000007.8000
4.00004.00004.00004.0000000-2.0000
1.00002.00003.00004.0000000-2.0000
2、已知矩阵
。
完成下列操作命令并显示结果。
(1)产生一个与A矩阵相同大小的0~1均匀分布的随机矩阵B。
>>A=[15,6,7,7.8;0,0,0,-2;44,7,7,89;3,8,0,12];
B=rand(size(A))
B=
0.95010.89130.82140.9218
0.23110.76210.44470.7382
0.60680.45650.61540.1763
0.48600.01850.79190.4057
(2)计算矩阵A与B中对应元素的乘积C。
>>C=A.*B
C=
14.25195.34785.74997.1901
000-1.4764
26.70113.19534.308015.6877
1.45790.148004.8685
(3)找出矩阵A中在0~10范围的所有元素构成向量D
>>D=A(find(A>=0&A<=10))'
D=
03.00006.000007.00008.00007.000007.000007.8000
(4)求矩阵A中每一行元素的最小值并将结果赋给变量E
>>E=min(A,[],2)
E=
6
-2
7
0
(5)求矩阵A中每一列元素的平均值并将结果赋给变量F
>>F=mean(A)
F=
15.50005.25003.500026.7000
3、已知x=-7.6,y=8.2
求
的值,并将结果赋给变量y,然后显示出结果。
>>x=-7.6,y=8.2
x=
-7.6000
y=
8.2000
>>z=tan((abs(x)+abs(y))/abs(x+y))*exp(cos(x))
z=
3.3127
>>y=z
y=
3.3127
4、当
时,计算表达式
的值,并将结果赋给变量y,然后显示出结果。
>>x=sqrt(1+pi);
y=(exp(x)+log(abs((sin(x))^2-sin(x^2))))/(x-5*i)
y=
0.5690+1.3980i
5、设矩阵A和B满足关系式AB=A+5B
已知
,求B
>>A=[4,2,3;1,1,0;-1,2,3];
B=inv(A-5)*A
B=
1.00000.00000.0000
-2.1429-1.1429-2.1429
0.71430.71431.7143
6、求解线性方程组
>>A=[1,-1,-1;2,-1,-3;3,2,-5];
B=[2;1;0];
C=inv(A)*B
C=
5.0000
-0.0000
3.0000
7、求极限
>>f=sym('(sqrt(5*x-4)-sqrt(x))/(x-1)');
limit(f,sym('x'),1)
ans=
2
8、已知
求
>>symsx;
y=sqrt(x*sin(x)*sqrt(1-exp(x)));
diff(y)
ans=
1/2/(x*sin(x)*(1-exp(x))^(1/2))^(1/2)*(sin(x)*(1-exp(x))^(1/2)+x*cos(x)*(1-exp(x))^(1/2)-1/2*x*sin(x)/(1-exp(x))^(1/2)*exp(x))
9、求积分
>>f=sym('1/((asin(x))^2*sqrt(1-x^2))');
int(f)
ans=
-1/asin(x)
10、求方程
的解
>>[xyz]=solve('x^2-y^2+z=0,x+y-z=0,3*x-y-z=2','x','y','z')
x=
1/2
y=
-1/2
z=
011、求非线性方程
在
附近的根
方法一>>A=fzero('x*x+2*x-exp(x)+5',1.0)
A=
2.9929
方法二建立函数文件funx.m
functionfx=funx(x)
fx=x*x+2*x-exp(x)+5;
调用fzero函数求根
>>z=fzero(@funx,1.0)
z=
2.9929
12、编写计算分段函数
的值的程序并分别计算x=1.5和-1.5时y的值:
>>x=input('x=?
');y=log(x*x+1)+sqrt(x*x+1);
ifx<0
y=log(x*x+1)+sqrt(x*x+1);
else
y=sin(x)/(x+1);
end
disp(y)
x=?
1.5
0.3990
>>x=input('x=?
');y=log(x*x+1)+sqrt(x*x+1);
ifx<0
y=log(x*x+1)+sqrt(x*x+1);
else
y=sin(x)/(x+1);
end
disp(y)
x=?
-1.5
2.9814
13、编写一个函数,将百分制的学生成绩转换为五级制的成绩,即成绩大于等于90分时等级为A,在80~90之间为B,70~80之间为C,60~70之间为D,其他为E。
(8分)
>>j=input('cj=?
');
ifcj>=90
a='A';
elseifcj>=80&cj<=90
a='B';
elseifcj>=70&cj<=80
a='C';
elseifcj>=60&cj<=70
a='D';
else
a='E';
end
disp(a);
cj=?
70
C
14、绘制曲线
,并完成下列操作:
(10分)
(1)添加图形标题‘xfrom-3to3’
(2)给x轴加说明‘VariableX’
(3)给y轴加说明‘VariableY’
(4)在坐标(2,1)处添加图形说明‘曲线y=x-x^3/3!
’
(5)设置曲线的颜色为红色
>>x=-3:
0.1:
3;
y=x-x.^3/6;
plot(x,y,'r');
title('xfrom-3to3');
xlabel('VariableX');
ylabel('VariableY');
text(2,1,'曲线y=x-x^3/3!
')
15、、用5次多项式p(x)在区间[1,101]内逼近函数lgx,并在同一坐标内用不同颜色绘制出lgx和p(x)在[1,101]的函数曲线。
>>x=1:
101;
y=log10(x);
p=polyfit(x,y,5);
w=polyval(p,x);
plot(x,y,'r.-',x,w,'b-')
16、给定数学函数x(t) =3cos(20t +π/3) e-5t,取N = 128,试对t从0~1s采样,用fft作快速傅立叶变换,绘制相应的振幅—频率图。
>>N=128;
T=1;
t=linspace(0,T,N);
x=3*cos(20*t+pi/3).*exp(-5*t);
dt=t
(2)-t
(1);
f=1/dt;
X=fft(x);
F=X(1:
N/2+1);
f=f*(0:
N/2)/N;
plot(f,abs(F),'-*')
xlabel('Frequency');
ylabel('|F(x)|')
17、已知图中,初始值uC(0)=1V,iL(0)=0,求t≥0时的uC(t)和iL(t)的零输入响应的符号表达式。
并画出R=500Ω,L=30mH,C=30μF,t=0~1s时的曲线图。
>>symsLRC;
Uc=dsolve('L*C*D2Uc+R*C*DUc+Uc=0','Uc(0)=1','DUc(0)=0')
Uc=
1/2*(R*C+(R^2*C^2-4*L*C)^(1/2))/(R^2*C^2-4*L*C)^(1/2)*exp(-1/2*(R*C-(R^2*C^2-4*L*C)^(1/2))/L/C*t)-1/2*(R*C-(R^2*C^2-4*L*C)^(1/2))/(R^2*C^2-4*L*C)^(1/2)*exp(-1/2*(R*C+(R^2*C^2-4*L*C)^(1/2))/L/C*t)
>>I=C*diff(Uc)
I=
C*(-1/4*(R*C+(R^2*C^2-4*L*C)^(1/2))/(R^2*C^2-4*L*C)^(1/2)*(R*C-(R^2*C^2-4*L*C)^(1/2))/L/C*exp(-1/2*(R*C-(R^2*C^2-4*L*C)^(1/2))/L/C*t)+1/4*(R*C-(R^2*C^2-4*L*C)^(1/2))/(R^2*C^2-4*L*C)^(1/2)*(R*C+(R^2*C^2-4*L*C)^(1/2))/L/C*exp(-1/2*(R*C+(R^2*C^2-4*L*C)^(1/2))/L/C*t))
18、求微分方程
(1)用符号法求通解。
(2)用simulink求解,示波器显示仿真结果。
(1)>>y=dsolve('D2y-4*Dy+2*y=2*exp(-x)','x')
y=
exp((2+2^(1/2))*x)*C2+exp(-(-2+2^(1/2))*x)*C1+2/7*exp(-x)
(2)
19、求微分方程
(1)用符号法求特解。
(2)用simulink求解,示波器显示仿真结果。
>>y=dsolve('D2y+4*Dy+2*y=0','Dy(0)=5,y(0)=3','x')
y=
(3/2+11/4*2^(1/2))*exp((-2+2^(1/2))*x)+(-11/4*2^(1/2)+3/2)*exp(-(2+2^(1/2))*x)
20、已知微分方程式
。
用Simulink求解当
、在初始值y'(0)=1、y(0)=1时的响应,
,建立仿真模型,用示波器显示仿真结果。