您好,欢迎来到六九路网。
搜索
您的当前位置:首页MATLAB实验报告 彭羊平

MATLAB实验报告 彭羊平

来源:六九路网
Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 一 : matlab的基本操作

一、实验目的:

1、了解MATLAB的集成环境,熟悉其基本操作。

2、了解MATLAB的基础知识,包括矩阵的建立、简单操作、逻辑操作和关系运算。 3、熟悉基本的数学函数和逻辑函数。

4、在命令窗口输入命令完成一些简单的功能,为MATLAB程序设计奠定基础。 二、实验内容:

1、利用diag等函数产生下列矩阵:

然后利用reshape函数将它们变换成行向量。

2、利用rand函数产生(0,1)间均匀分布的10*10随机矩阵A,然后统计A中大于等 于0.6的元素的个数。

3、有一矩阵A,找出矩阵中值大于1的元素,并将它们重新排列成列向量B。 4、在一测量矩阵A(6*6),存在有奇异值(假设大于100的值为奇异值),编程实现删去奇异值所在的行。 三、实验结果: 1、程序如下:

a=fliplr(diag([8,-7,2])+diag([5,3],-1)) a=reshape(a,1,9)

b=diag([2,5,8])+diag([4],2)+diag([7],-2) b=reshape(b,1,9) 结果如下:

1

Matlab程序设计实验报告

2、程序如下: A=rand(10) A=A>0.6

sum(sum(A)) 结果如下:

3、程序如下:

A=fix(5*rand(5)) a=A>1;

K=find(a);

for k=1:length(K) B(k)=A(K(k)); end B=B' 结果如下:

2

Matlab程序设计实验报告

4、程序如下:

A=fix(100*rand(8))+5 B=A>100;

k=find(any(B')) A(k,:)=0 结果如下:

3

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 二 : matlab绘图(1)

一、实验目的:

1、了解MATLAB图形系统和各种图形函数。

2、熟悉MATLAB的基本图形操作,具备MATLAB画图能力。 3、熟悉各种数学函数,并通过图形函数画出。

二、实验内容:

1、画出常用三角函数图形。

2、绘制出多峰函数peaks和三角函数的多条曲线。

3、有一位研究生,一年中平均每月的费用为生活费190元、资料费33元、电话费45 元、购买衣服42元及其它费用45元。请以饼图表示出他每月的消费比例,并分离出表示资料费用的的切片。请给出图中每一块加以标注。 三、实验结果: 1、试验程序:

x=0:pi/50:2*pi;

k=[1 26 51 76 101]; x(k)=[]; figure(1);

subplot(2,2,1),plot(x,sin(x)),grid on; subplot(2,2,2),plot(x,cos(x)),grid on; subplot(2,2,3),plot(x,tan(x)),grid on; subplot(2,2,4),plot(x,cot(x)),grid on; 实验结果:

4

Matlab程序设计实验报告

2、实验程序:

(1)[x,y]=meshgrid(-3:.15:3);

z=peaks(x,y) x1=x(1,:)

plot(x1,z),grid on

实验结果:

(2)x=0:pi/50:2*pi;

y1=sin(x);y2=cos(x); figure(1)

plot(x,y1,'k-',x,y2,'k--'),grid on text(pi,0.05,'\\leftarrow sin(\\alpha)') text(pi/4-0.05,0.05,'cos(\\alpha)\\rightarrow') title('sin(\\alpha) and cos(\\alpha)') xlabel('\\alpha')

5

Matlab程序设计实验报告

2、实验程序:

x=[190 33 45 42 45]; explode=[0 1 0 0 0]; figure(1); colormap hsv; pie(x,explode);

title('研究生每月消费比例'); 实验结果:

6

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 三 : matlab绘图(2)

一、实验目的:

1、熟练掌握MATLAB二维曲线的绘制方法; 2、掌握网格数据的生成方法; 3、掌握三维图的绘制方法;

4、理解各种特殊图形的绘制方法。 二、实验内容:

1、画出下列函数的三维曲线和网格曲线。

22z(x2)(y1.2)

2、 画出下列函数的曲面及等高线图。

22z(x)(y)sin(xy)

3、画出各种大小和形状的球、柱体。

三、实验结果: 1、实验程序: 三维曲线

x=randn(40) y=randn(40)

z=(x-2).^2+(y-1.2).^2 plot3(x,y,z),grid on 实验结果:

7

Matlab程序设计实验报告

网格曲线 实验程序:

x=randn(40) y=randn(40)

z=(x-2).^2+(y-1.2).^2 mesh(x,y,z) 实验结果:

2、实验程序: 曲面

[x,y]=meshgrid(-3:.125:3); z=x.^2+y.^2+sin(x*y); c=ones(size(x)); surfc(x,y,z,c),grid on 实验结果:

8

Matlab程序设计实验报告

等高线

[x,y]=meshgrid(-3:.125:3); z=x.^2+y.^2+sin(x*y); contour3(x,y,z,30) view(-15,25)

实验结果:

9

Matlab程序设计实验报告

班级: 通信班

姓名: 彭羊平 学号: 222008315222033

实验 四 : matlab程序设计(1)

一、实验目的:

1、初步学会MATLAB编程,对其有所了解。 2.、熟悉冒泡和选择排序的编程方法。

二、实验内容:

1、 实现冒泡排序。 2、实现选择排序。

三、实验结果: 1、实验程序:

a=[79 95 52 88 17 97 27 25 87 73] n=length(a) for i=1:n-1 flag=-1;

for j=n:-1:i+1

if(a(j)b=a; end b

disp(['循环次数为:',num2str(i)]); 实验结果:

10

Matlab程序设计实验报告

2、实验程序:

function b=xuanze(a) n=length(a); for i=1:n-1 min=i;

for j=i+1:n

if(a(j)min=j; end end

if(min~=1)

temp=a(min); a(min)=a(i); a(i)=temp; end end b=a; 实验结果:

11

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 五: matlab程序设计(2)

一、实验目的:

1、进一步熟悉MATLAB编程语言,熟悉程序设计技术。 2、了解MATLAB的程序调试功能,通过编程熟悉。

二、实验内容:

1、企业发放的奖金按个人完成的利润(I)提成,分段提成比例K如下:

K= 10% I<=10万元

5% 1040万元

即如王某完成25万元利润时,个人可得 y=10*10%+10*5%+5*2%(万元) 据此编写程序,求企业职工的奖金。

2、有一分数序列

求前15项的和。(扩展求其前n项和)

3、有n个人围成一个圈,按序列编号,从第一个人开始报数,数到m时该人退出,并且下一个人从1开始重新报数,求出出圈人的顺序(n>m,l例如n=20,m=7)。

三、实验结果: 1、实验程序:(函数文件)

function y=jiangjin(x) y=0;

if (x>=0 && x<=10) y=x*0.1;

elseif (10y=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; else y='error';; end 实验结果:

23581321,,,,,,...1235813

12

Matlab程序设计实验报告

2、实验程序:

function y=sum15(x) y=0; n11=2; n1=1;

A1=n11./n1; for i=1:x y=y+a1;

A1=(n11+n1)./n11; end 实验结果:

3、实验程序:

function a=yuesefuhuan(m,n) b=1:n;

k=0; %k为数到几了。

13

Matlab程序设计实验报告

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 实验结果:

14

Matlab程序设计实验报告

班级: 通信班

姓名: 彭羊平 学号: 222008315222033

实验 六 :matlab基本应用(1)

一、实验目的:

1.、了解MATLAB的基本应用领域:线性代数、多项式和内插、数据分析与统计、泛函分析、常微分方程求解等。

2、熟悉线性代数方程和常微分方程的求解与编程。 3、了解数据拟合的方法与编程。

二、实验内容:

1、求解下列线性代数方程。

(1)x1+2x2+3x3=11 (2)3x1+x2+x4=2 2x1+2x2+5x3=12 6x2+7x3+3x4=4 3x1+5x2+x3=31 4x2+3x3=7 2x1-x2+2x3+6x4=8

2、通过测量得到一组数据

分别采用y1(t)=c1+c2e和y2(t)=d1+d2e进行拟合,并画出拟合曲线进行对比。

-t

-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

15

Matlab程序设计实验报告

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.7,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)拟合'); 实验结果:

16

Matlab程序设计实验报告

3、实验程序:

function dy=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}'),grid on; subplot(3,1,2),plot(T,X(:,2)),title('x_{2}'),grid on; subplot(3,1,3),plot(T,X(:,3)),title('x_{3}'),grid on; figure(2);

plot(X(:,1),X(:,2),X(:,3),title('系统轨迹')),grid on; 实验结果:

17

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 七: matlab基本应用(2)

一、实验目的:

1.、进一步了解MATLAB的基本应用领域,熟悉高阶微分方程求解和编程等。 2、熟悉定积分的求解与编程。

3、了解求信号DFT的方法与编程。 二、实验内容:

y''(1y)y'y0。其中,u>0为标量。

1、求解范德堡方程

22、计算下列定积分。

zedt2t102

zedt2t2012312

z(x3x0.5)dx3、微分方程组

x'(t)0.5x(t)

x'(t)x(t)4x(t)

11212 当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程

t[0,25]上的解,并画出

x1-x2的系统轨迹。

三、实验结果: 1、实验程序:

function dy=diffss111(t,y) global mu

dy=[y(2);mu*(1-y(1)*y(1))*y(2)-y(1)];

global mu; mu=1;

X0=[2;0];

tspan=[0,20];

[T,X]=ode45('diffss111',tspan,X0); figure(1);subplot(2,1,1);

18

Matlab程序设计实验报告

plot(T,X(:,1),'-',T,X(:,2),'--'),grid on; title('范德堡方程的解, u=1')

ylabel('Soution x_{1} and x_{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}'),grid on; title('范德堡方程的解, u=1000'),grid on; xlabel('时间t'),ylabel('Soution x_{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) 实验结果:

19

Matlab程序设计实验报告

3、实验程序:

function dy=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}'),grid on; subplot(3,1,2),plot(T,X(:,1)),title('x_{2}'),grid on;

subplot(3,1,3),plot(T,(X(:,1)-X(:,1))),title('x_{1}-x_{2}'),grid on;

实验结果如下:

20

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 八: 数据阵列与结构

一、实验目的:

1、熟悉MATLAB中数据阵列类型,如阵列,结构阵列和单元阵列的产生,结构及其使用。

2、了解阵列类型与结构的简单编程。

二、实验内容:

1、利用下标建立阵列。

2、建立一个单元阵列并存放一些数据。

3、在一个5*5*2.5m3的房间里,按每间隔50cm的栅格测定各点的温度(可随机产生),建立阵列表示,并求出高度从0~2.5m每隔50cm的平面上的平均温度。

三、实验结果: 1、实验程序:

a(:,:,2)=[2 3 5;7 9 0; 7 8 5] 实验结果:

2、实验程序: A=cell(2,2)

A{1,1}=[1 2 6 ;0 9 4 ;2 3 4] A{1,2}='Anne Smith'; A{2,1}=3+7i;

A{2,2}=-pi:pi/10:pi; 实验结果:

21

Matlab程序设计实验报告

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 for k=1:6

Temaverage(k)=sum(sum(Temp(:,:,k)))/(length(x)*length(y)); end

Temaverage 实验结果为:

22

Matlab程序设计实验报告

23

Matlab程序设计实验报告

24

Matlab程序设计实验报告

班级: 通信班 姓名: 彭羊平 学号: 222008315222033

实验 九: 综合练习

一、实验目的:

1、进一步熟悉MATLAB编程语言,熟悉程序设计技术。 2、了解MATLAB的基本应用领域。 3、进一步掌握图形的绘制方法。 二、实验内容:

1、产生一个信号,

x3sin(wt)10sin(w2t)10randn(size(t))1

其中,

w2*20,w2*200,/4,这一信

12号表示被噪声污染的信号,设计程序求其DFT,并绘图表示。 2、画出各种大小和形状的球、柱体。

三、实验结果: 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、实验程序:

25

Matlab程序设计实验报告

sphere axis square [x,y,z]=sphere x=0.5*x y=0.5*y

z=0.5*z hold on 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),axis square

26

Matlab程序设计实验报告

27

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务