Matlab应用练习

发布 2022-09-20 20:32:28 阅读 4647

《matlab及应用》上机作业。

作业一。1.矩阵的相乘与截取%作业1_1

a=[1 2 3 4;2 3 5 7;1 3 5 7;3 2 3 9;1 8 9 4];

b=[1+4*i 4 3 6 7 7;2 3 3 5 5 4+2*i;2 6+7*i 5 3 4 2;1 8 9 5 4 3];c=a*bd=c(4:5,4:6)whos

2.矩阵的行列式值、逆矩阵倍乘等操作%作业1_2

a=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 2]det(a)b=a^-1c=a^3d=2*a+be=3*b-a'

v,d]=eig(a)%v为特征向量,d为特征值。

3.矩阵的左除与右除%作业1_3

a=[0 1 0;1 0 0;0 0 1];b=[1 0 0;0 0 1;0 1 0];c=[1 -4 3;2 0 -1;1 -2 0];x1=a\c;

x=x1/b

4.矩阵的卷积运算%作业1_4clcclear

a1=[1 5 35 13];a2=[1 45 3];a3=[31 3];p1=conv(a1,a2);p2=conv(p1,a3)

f=polyval(p2,3)%当x=3时的值f1=polyder(p2)%求导数。

5.求多项式的根%作业1_5clcclear

p=[1 -5 -14 -10 -3]r=roots(p)

f=polyder(p)

6.求多项式相除、以部分分式形式表示、以及多项式微分%作业1_6clcclear

a1=10;a2=[1 4 5 6 7];a3=a1*a2b1=[1 1];b2=[1 2];b3=[1 3];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_7clcclearx=1:1:5;

y=[1.3 1.8 2.2 2.9 3.5];

p=polyfit(x,y,1)%拟合直线。

8.曲线的拟合以及画图%作业1_8clcclear

t=1960:1:1968;

y=[3.3918 3.4213 3.

4503 3.46983.4763 3.

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)%2023年的人口值plot(t,y,'*t,y)

axis([1960,1968,3.3,3.6])

9.拟合曲线(一次拟合与二次拟合)与画图%作业1_9clccleart=0:0.5:3;

y=[0 0.4794 0.8415 0.9915 0.9093 0.5985 0.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_10clcclear

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

clcclear

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_12clcclear

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_1clcclearsum=0;h=100;fori=1:1:10h=0.5*h;sum=sum+3*h;end

disp('**高度')h

disp('共走过的路程')

sum2.分段函数的绘制(图形见图2.1)%作业2_2clcclear

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);endendplot(x,y)

axis([-15 15 -7 7])

图2.1分段函数图形。

3.调用时间函数etime%作业2_3clcclear

t0=clock;%for循环及时间s1=0;fori=0:1:63s1=s1+2^i;ends1

t1=clock;

t_for=etime(t1,t0)

t2=clock;%while循环及时间n=0;s2=0;whilen<64s2=s2+2^n;n=n+1;ends2

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_4clc

symsx_ax_bx_cx_a=3;x_b=6;

while(x_b-x_a)>0.001x_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<0x_b=x_c;elsex_a=x_c;endend

x_c5.画出二阶系统的单位阶跃响应曲线%作业2_5x=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_6clcclf

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=[0 1 1 2 2 3 4];y=[0 0 2 2 0 0 0];subplot(2,2,3)plot(toy);axis([0,4,-1,3]);

title('矩形脉冲信号');symsxysubplot(2,2,4)ezplot(x^2+y^2-1)axis([-1.5,1.5,-1.

2,1.2]);title('单位圆');

图2.3同一窗口显示四个图形。

7.%作业2_7clcclear

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_8clc

clearclf

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方程曲线。

MATLAB高级应用

求解微分方程 组 的matlab命令。1 常微分方程的符号解。其格式如下。r dsolve eq1,eq2,cond1,cond2,v 说明 该命令对给定的常微分方程 组 eq1,eq2,中指定的符号自变量v,与给定的边界条件和初始条件cond1,cond2,求符号解 即解析解 r 若没有指定变量v...

matlab练习

1 写一个matlab小程序,求出最小的n值,使得n 2 写一个matlab函数来计算下列方程式 y 0.5 exp x 3 x x sin x 其中x是函数的输入,y是函数的输出。你的函数必须能处理当x是标量或向量的两种情况。3 一个平面上的椭圆可以表示成下列方程式 我们也可以用参数将椭圆表示成 ...

Matlab练习

下列matlab语句用于画出函数在 0,10 的值。x 0 0.1 10 y 2 exp 0.2 x plot x,y 用matlab编辑器创建一个新的m文件,把上面的语句写入这个文件并命名为然后在命令窗口中输入test1执行这个文件。看得到什么结果?通过以下两种方式得到关于exp函数的帮助。a 在...