y=10*0.1+10*0.05+(x-20)*0.02;
elseif(x>40)
y=10*0.1+10*0.05+20*0.02+(x-40)*0.01;
elsey='error';;
end
实验结果:
2、实验程序:
functiony=sum15(x)
y=0;
n11=2;
n1=1;
A1=n11./n1;
fori=1:
x
y=y+a1;
A1=(n11+n1)./n11;
end
实验结果:
3、实验程序:
functiona=yuesefuhuan(m,n)
b=1:
n;
k=0;%k为数到几了。
i=1;
m1=1;
while(m1<=n)
if(b(i)~=0)
k=k+1;
end
if(k==m)
k=0;
a(m1)=i;
m1=m1+1;
b(i)=0;
end
if(i==n)
i=0;
end
i=i+1;
end
实验结果:
班级:
通信班姓名:
彭羊平学号:
222008315222033
实验六:
matlab基本应用
(1)
一、实验目的:
1.、了解MATLAB的基本应用领域:
线性代数、多项式和内插、数据分析与统计、泛函分析、常微分方程求解等。
2、熟悉线性代数方程和常微分方程的求解与编程。
3、了解数据拟合的方法与编程。
2、实验内容:
1、求解下列线性代数方程。
(1)x1+2x2+3x3=11
(2)3x1+x2+x4=2
2x1+2x2+5x3=126x2+7x3+3x4=4
3x1+5x2+x3=314x2+3x3=7
2x1-x2+2x3+6x4=8
2、通过测量得到一组数据
分别采用y1(t)=c1+c2e-t和y2(t)=d1+d2e-t进行拟合,并画出拟合曲线进行对比。
3、求解下列线性微分方程,并画出状态轨迹。
(1)5x1-5x2-6x3=x1'
(2)x1+2x2-3x3+x4=x1'
3x1-2x2+5x3=x2'3x1+x3-2x4=x2'
2x1-x2-4x3=x3'x1-2x2+5x4=x3'
x(0)=[1,-4,5]'2x1+3x2+x4=x4'
x(0)=[1,-1,2,1]'
三、实验结果:
1、实验程序:
a=[1,2,3;2,2,5;3,5,1];
b=[11,12,31]';
x=a\b
a1=[3,1,0,0;0,6,7,3;0,4,3,0;2,-1,2,6];
b1=[2,4,7,8]';
x=a1\b1
实验结果:
2、实验程序:
t=[1:
10]';
y=[4.842,4.362,3.754,3.368,3.169,3.083,3.034,3.016,3.012,3.005]';
A=[ones(size(t))exp(-t)];
A1=[ones(size(t))t.*exp(-t)];
C=A\y;C1=A1\y;
T=[0:
.1:
11]';
Y=[ones(size(T))exp(-T)]*C;
Y1=[ones(size(T))T.*exp(-T)]*C1;
subplot(2,1,1),plot(T,Y,'-',t,y,'o'),title('y1(t)=c1+c2exp(-t)拟合');
subplot(2,1,2),plot(T,Y1,'-',t,y,'o'),title('y2(t)=d1+d2t*exp(-t)拟合');
实验结果:
3、实验程序:
functiondy=diffss(t,y)
dy=[5*y
(1)-5*y
(2)-6*y(3);3*y
(1)-2*y
(2)+5*y(3);2*y
(1)-y
(2)-4*y(3);
X0=[1;-4;5];
tspan=[0,100];
[T,X]=ode45('diffss',tspan,X0);
figure
(1);
subplot(3,1,1),plot(T,X(:
1)),title('x_{1}'),gridon;
subplot(3,1,2),plot(T,X(:
2)),title('x_{2}'),gridon;
subplot(3,1,3),plot(T,X(:
3)),title('x_{3}'),gridon;
figure
(2);
plot(X(:
1),X(:
2),X(:
3),title('系统轨迹')),gridon;
实验结果:
班级:
通信班姓名:
彭羊平学号:
222008315222033
实验七:
matlab基本应用
(2)
一、实验目的:
1.、进一步了解MATLAB的基本应用领域,熟悉高阶微分方程求解和编程等。
2、熟悉定积分的求解与编程。
3、了解求信号DFT的方法与编程。
2、实验内容:
1、求解范德堡方程
。
其中,u>0为标量。
2、计算下列定积分。
3、微分方程组
当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程
上的解,并画出x1-x2的系统轨迹。
3、实验结果:
1、实验程序:
functiondy=diffss111(t,y)
globalmu
dy=[y
(2);mu*(1-y
(1)*y
(1))*y
(2)-y
(1)];
globalmu;
mu=1;
X0=[2;0];
tspan=[0,20];
[T,X]=ode45('diffss111',tspan,X0);
figure
(1);subplot(2,1,1);
plot(T,X(:
1),'-',T,X(:
2),'--'),gridon;
title('范德堡方程的解,u=1')
ylabel('Soutionx_{1}andx_{2}')
legend('x_{1}','x_{2}')
tspan=[0,3000];
mu=1000;
[T,Y]=ode15s('diffss111',tspan,X0);
subplot(2,1,2);
plot(T,Y(:
1)),title('x_{1}'),gridon;
title('范德堡方程的解,u=1000'),gridon;
xlabel('时间t'),ylabel('Soutionx_{1}');
实验结果:
2、实验程序:
x=0:
.001:
2;
y1=exp(-2*x);
z1=trapz(x,y1)
y2=exp(2*x);
z2=trapz(x,y2)
x1=-1:
.001:
1;
y3=x.*x-3*x+0.5;
z3=trapz(x1,y3)
实验结果:
3、实验程序:
functiondy=difffss(t,y)
dy=[0.5-y
(1);y
(1)-4*y
(2)];
X0=[1;-0.5];
tspan=[0,25];
[T,X]=ode45('difffss',tspan,X0);
figure
(1);
subplot(3,1,1),plot(T,X(:
1)),title('x_{1}'),gridon;
subplot(3,1,2),plot(T,X(:
1)),title('x_{2}'),gridon;
subplot(3,1,3),plot(T,(X(:
1)-X(:
1))),title('x_{1}-x_{2}'),gridon;
实验结果如下:
班级:
通信班姓名:
彭羊平学号:
222008315222033
实验八:
数据阵列与结构
1、实验目的:
1、熟悉MATLAB中数据阵列类型,如多维阵列,结构阵列和单元阵列的产生,结构及其使用。
2、了解阵列类型与结构的简单编程。
2、实验内容:
1、利用下标建立多维阵列。
2、建立一个单元阵列并存放一些数据。
3、在一个5*5*2.5m3的房间里,按每间隔50cm的栅格测定各点的温度(可随机产生),建立多维阵列表示,并求出高度从0~2.5m每隔50cm的平面上的平均温度。
3、实验结果:
1、实验程序:
a(:
:
2)=[235;790;785]
实验结果:
2、实验程序:
A=cell(2,2)
A{1,1}=[126;094;234]
A{1,2}='AnneSmith';
A{2,1}=3+7i;
A{2,2}=-pi:
pi/10:
pi;
实验结果:
celldisp(A)
3、实验程序:
x=0:
.5:
5;
y=0:
.5:
5;
z=0:
.5:
2.5;
Temp=fix(20*rand(length(x),length(y),length(z)))+9
fork=1:
6
Temaverage(k)=sum(sum(Temp(:
:
k)))/(length(x)*length(y));
end
Temaverage
实验结果为:
班级:
通信班姓名:
彭羊平学号:
222008315222033
实验九:
综合练习
1、实验目的:
1、进一步熟悉MATLAB编程语言,熟悉程序设计技术。
2、了解MATLAB的基本应用领域。
3、进一步掌握图形的绘制方法。
2、实验内容:
1、产生一个信号,
其中,
,这一信号表示被噪声污染的信号,设计程序求其DFT,并绘图表示。
2、画出各种大小和形状的球、柱体。
3、实验结果:
1、实验程序:
t=0:
0.001:
0.6;
x=3*sin(2*pi*20*t)+10*sin(2*pi*200*t+pi/4)+10*randn(1,length(t));
Y=fft(x,512);
P=Y.*conj(Y);
f=1000*(0:
255)/512;
plot(f,P(1:
256))
实验结果:
2、实验程序:
球
sphere
axissquare
[x,y,z]=sphere
x=0.5*x
y=0.5*y
z=0.5*z
holdon
surf(x,y,z)
surf(x+1,y+1,z+1
柱体:
t=0:
pi/10:
2*pi;
[x,y,z]=cylinder(2+cos(t));
surf(x,y,z),axissquare