Matlab应用练习1.docx
《Matlab应用练习1.docx》由会员分享,可在线阅读,更多相关《Matlab应用练习1.docx(14页珍藏版)》请在冰豆网上搜索。
Matlab应用练习1
《MATLAB及应用》上机作业
作业一
1.矩阵的相乘与截取
%作业1_1
A=[1234;2357;1357;3239;1894];
B=[1+4*i43677;233554+2*i;26+7*i5342;189543];
C=A*B
D=C(4:
5,4:
6)
Whos
2.矩阵的行列式值、逆矩阵倍乘等操作
%作业1_2
A=[162313;511108;97612;414152]
det(A)
B=A^-1
C=A^3
D=2*A+B
E=3*B-A'
[v,d]=eig(A)%v为特征向量,d为特征值
3.矩阵的左除与右除
%作业1_3
A=[010;100;001];
B=[100;001;010];
C=[1-43;20-1;1-20];
X1=A\C;
X=X1/B
4.矩阵的卷积运算
%作业1_4
clc
clear
a1=[153513];
a2=[1453];
a3=[313];
p1=conv(a1,a2);
p2=conv(p1,a3)
f=polyval(p2,3)%当x=3时的值
f1=polyder(p2)%求导数
5.求多项式的根
%作业1_5
clc
clear
p=[1-5-14-10-3]
r=roots(p)
f=polyder(p)
6.求多项式相除、以部分分式形式表示、以及多项式微分
%作业1_6
clc
clear
a1=10;a2=[14567];a3=a1*a2
b1=[11];b2=[12];b3=[13];
p1=conv(b1,b2);p3=conv(p1,b3)
[q1,r1]=deconv(a3,p3)%多项式相除
[r2,p2,k2]=residue(a3,p3)%部分分式形式
[q3,r3]=polyder(a3,p3)%多项式微分
7.拟合直线
%作业1_7
clc
clear
x=1:
1:
5;
y=[1.31.82.22.93.5];
p=polyfit(x,y,1)%拟合直线
8.曲线的拟合以及画图
%作业1_8
clc
clear
t=1960:
1:
1968;
y=[3.39183.42133.45033.46983.47633.49203.51333.53223.5505];
N=log(y);
p=polyfit(t,N,1);
a=p
(2)
b=p
(1)
Y=exp(a+b*t);
Y2010=exp(a+b*2010)%2010年的人口值
plot(t,y,'*',t,Y)
axis([1960,1968,3.3,3.6])
9.拟合曲线(一次拟合与二次拟合)与画图
%作业1_9
clc
clear
t=0:
0.5:
3;
y=[00.47940.84150.99150.90930.59850.1411];
%拟合二次曲线
p=polyfit(t,y,2)
p1=polyval(p,2.25)%2.25秒强度指标
P=polyval(p,t);
plot(t,y,'r*',t,P)
%曲线插值
p2=interp1(t,y,2.25,'spline')
图1.1人口总数拟合曲线图图1.2二次曲线拟合强度随时间变化
10.%作业1_10
clc
clear
symsxa%求极限
f=(sin(x)^2-sin(a)^2)/(x-a);
limit(f,'x',a)
f=x^2*exp(2*x)+sin(x)*exp(x);%求不定积分
g=int(f,'x')
h=diff(g)%求微分
y=x^2*sin(cos(x^2))*cos(x);%泰勒级数展开
taylor(y,x,20)
symsn%级数求和
symsum(n^2,1,inf)
11.%作业1_11
clc
clear
display('方程组
(1)')
eq1=sym('sin(x+y)-exp(x)*y');
eq2=sym('x^2-cos(y)');
[x1,y1]=solve(eq1,eq2)
display('方程组
(2)')
eq3=sym('x^2+x*y+y');
eq4=sym('x^2-4*x+3');
[x2,y2]=solve(eq3,eq4)
12.%作业1_12
clc
clear
display('微分方程
(1)')
y=dsolve('D3y+D2y=x','y
(1)=8,Dy
(1)=7,D2y
(2)=4','x')
display('微分方程
(2)')
y1=dsolve('Dx^2+x^2=1','x(0)=0')
display('微分方程组(3)')
[x2,y2]=dsolve('Dy=2*x-y,Dx=4*x-2*y','t')
作业二
1.调用disp函数显示信息
%作业2_1
clc
clear
sum=0;
h=100;
fori=1:
1:
10
h=0.5*h;
sum=sum+3*h;
end
disp('反弹高度')
h
disp('共走过的路程')
sum
2.分段函数的绘制(图形见图2.1)
%作业2_2
clc
clear
x=-15:
0.5:
15;
y=zeros(1,length(x));
forn=1:
length(x)
ifx(n)>10y(n)=5;
elseifx(n)<-10y(n)=-5;
elsey(n)=0.5*x(n);
end
end
plot(x,y)
axis([-1515-77])
图2.1分段函数图形
3.调用时间函数etime
%作业2_3
clc
clear
t0=clock;%for循环及时间
s1=0;
fori=0:
1:
63
s1=s1+2^i;
end
s1
t1=clock;
t_for=etime(t1,t0)
t2=clock;%while循环及时间
n=0;
s2=0;
whilen<64
s2=s2+2^n;
n=n+1;
end
s2
t3=clock;
t_while=etime(t3,t2)
t4=clock;%等比数列求和及时间
q=2;
s3=(1-q^64)/(1-q)
t5=clock;
t_gongshi=etime(t5,t4)
4.创建符号变量,定义符号函数
%作业2_4
clc
symsx_ax_bx_c
x_a=3;
x_b=6;
while(x_b-x_a)>0.001
x_c=(x_a+x_b)/2;
f_a=x_a^3-14*x_a^2+59*x_a-70;
f_c=x_c^3-14*x_c^2+59*x_c-70;
iff_a*f_c<0
x_b=x_c;
elsex_a=x_c;
end
end
x_c
5.画出二阶系统的单位阶跃响应曲线
%作业2_5
x=0:
0.1:
20;
y0=1-1/sqrt(1-0^2)*exp(-0*x).*sin(sqrt(1-0^2)*x+acos(0));
plot(x,y0,'b-')
holdon
y1=1-1/sqrt(1-0.3^2)*exp(-0.3*x).*sin(sqrt(1-0.3^2)*x+acos(0.3));
plot(x,y1,'g.')
holdon
y2=1-1/sqrt(1-0.5^2)*exp(-0.5*x).*sin(sqrt(1-0.5^2)*x+acos(0.5));
plot(x,y2,'ro')
holdon
y3=1-1/sqrt(1-0.707^2)*exp(-0.707*x).*sin(sqrt(1-0.707^2)*x+acos(0.707));
plot(x,y3,'y+')
holdon
xlabel('时间t')
ylabel('响应y')
title('二阶系统曲线')
gridon
legend('\zeta=0','\zeta=0.3','\zeta=0.5','\zeta=0.707')
text(3,2,'\zeta=0')
text(2.9,1.4,'\zeta=0.3')
text(2.9,1.2,'\zeta=0.5')
text(3,1.05,'\zeta=0.707')
图2.2二阶系统的单位阶跃响应曲线
6.结果见图2.3
%作业2_6
clc
clf
t=0:
0.01:
2;
subplot(2,2,1)
plot(t,sin(2*pi*t))
axis([0,2,-1,1]);
title('y=sin(2*pi*t)');
subplot(2,2,2)
plot(t,exp(-t),'b',t,exp(-2*t),'r',t,exp(-3*t),'g')
axis([0,2,-0.2,1]);
title('y=exp(-t),y=exp(-2*t),y=exp(-3*t)');
t=[0112234];
y=[0022000];
subplot(2,2,3)
plot(toy);
axis([0,4,-1,3]);
title('矩形脉冲信号');
symsxy
subplot(2,2,4)
ezplot(x^2+y^2-1)
axis([-1.5,1.5,-1.2,1.2]);
title('单位圆');
图2.3同一窗口显示四个图形
7.%作业2_7
clc
clear
x=-2:
0.1:
2;
[X,Y]=meshgrid(x);
Z=1./sqrt((1-X).^2+Y.^2)+1./sqrt((1+X).^2+Y.^2);
subplot(311)
plot3(X,Y,Z)
axis([-2,2,-2,2,0,10])
subplot(312)
mesh(X,Y,Z)
axis([-2,2,-2,2,0,10])
subplot(313)
surf(X,Y,Z)
axis([-2,2,-2,2,0,10])
图2.4用ploy3、mesh和surf指令画图
8.%作业2_8
clc
clear
clf
eq1=sym('(x-2)^2+3*(y-1)^2=3');
eq2=sym('y=6*(x-2)^2');
[x,y]=solve(eq1,eq2)
ezplot('(x-2)^2+3*(y-1)^2=3',[-2,6,-3,5])
holdon
ezplot('y=6*(x-2)^2',[-2,6,-3,5])
图2.5方程曲线