MATLAB实验报告 彭羊平.docx

上传人:b****1 文档编号:10757317 上传时间:2023-05-27 格式:DOCX 页数:23 大小:396.52KB
下载 相关 举报
MATLAB实验报告 彭羊平.docx_第1页
第1页 / 共23页
MATLAB实验报告 彭羊平.docx_第2页
第2页 / 共23页
MATLAB实验报告 彭羊平.docx_第3页
第3页 / 共23页
MATLAB实验报告 彭羊平.docx_第4页
第4页 / 共23页
MATLAB实验报告 彭羊平.docx_第5页
第5页 / 共23页
MATLAB实验报告 彭羊平.docx_第6页
第6页 / 共23页
MATLAB实验报告 彭羊平.docx_第7页
第7页 / 共23页
MATLAB实验报告 彭羊平.docx_第8页
第8页 / 共23页
MATLAB实验报告 彭羊平.docx_第9页
第9页 / 共23页
MATLAB实验报告 彭羊平.docx_第10页
第10页 / 共23页
MATLAB实验报告 彭羊平.docx_第11页
第11页 / 共23页
MATLAB实验报告 彭羊平.docx_第12页
第12页 / 共23页
MATLAB实验报告 彭羊平.docx_第13页
第13页 / 共23页
MATLAB实验报告 彭羊平.docx_第14页
第14页 / 共23页
MATLAB实验报告 彭羊平.docx_第15页
第15页 / 共23页
MATLAB实验报告 彭羊平.docx_第16页
第16页 / 共23页
MATLAB实验报告 彭羊平.docx_第17页
第17页 / 共23页
MATLAB实验报告 彭羊平.docx_第18页
第18页 / 共23页
MATLAB实验报告 彭羊平.docx_第19页
第19页 / 共23页
MATLAB实验报告 彭羊平.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB实验报告 彭羊平.docx

《MATLAB实验报告 彭羊平.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告 彭羊平.docx(23页珍藏版)》请在冰点文库上搜索。

MATLAB实验报告 彭羊平.docx

MATLAB实验报告彭羊平

班级:

通信班姓名:

彭羊平学号:

033

实验一:

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)

结果如下:

2、程序如下:

A=rand(10)

A=A>0.6

sum(sum(A))

结果如下:

3、程序如下:

A=fix(5*rand(5))

a=A>1;

K=find(a);

fork=1:

length(K)

B(k)=A(K(k));

end

B=B'

结果如下:

4、程序如下:

A=fix(100*rand(8))+5

B=A>100;

k=find(any(B'))

A(k,:

)=0

结果如下:

班级:

通信班姓名:

彭羊平学号:

033

实验二:

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=[1265176101];

x(k)=[];

figure

(1);

subplot(2,2,1),plot(x,sin(x)),gridon;

subplot(2,2,2),plot(x,cos(x)),gridon;

subplot(2,2,3),plot(x,tan(x)),gridon;

subplot(2,2,4),plot(x,cot(x)),gridon;

实验结果:

2、实验程序:

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

.15:

3);

z=peaks(x,y)

x1=x(1,:

plot(x1,z),gridon

实验结果:

(2)x=0:

pi/50:

2*pi;

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

figure

(1)

plot(x,y1,'k-',x,y2,'k--'),gridon

text(pi,0.05,'\leftarrowsin(\alpha)')

text(pi/4-0.05,0.05,'cos(\alpha)\rightarrow')

title('sin(\alpha)andcos(\alpha)')

xlabel('\alpha')

2、实验程序:

x=[19033454245];

explode=[01000];

figure

(1);

colormaphsv;

pie(x,explode);

title('研究生每月消费比例');

实验结果:

班级:

通信班姓名:

彭羊平学号:

033

实验三:

matlab绘图

(2)

1、实验目的:

1、熟练掌握MATLAB二维曲线的绘制方法;

2、掌握网格数据的生成方法;

3、掌握三维图的绘制方法;

4、理解各种特殊图形的绘制方法。

二、实验内容:

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

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

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

三、实验结果:

1、实验程序:

三维曲线

x=randn(40)

y=randn(40)

z=(x-2).^2+(y-1.2).^2

plot3(x,y,z),gridon

实验结果:

网格曲线

实验程序:

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),gridon

实验结果:

等高线

[x,y]=meshgrid(-3:

.125:

3);

z=x.^2+y.^2+sin(x*y);

contour3(x,y,z,30)

view(-15,25)

实验结果:

班级:

通信班姓名:

彭羊平学号:

033

实验四:

matlab程序设计

(1)

1、实验目的:

1、初步学会MATLAB编程,对其有所了解。

2.、熟悉冒泡和选择排序的编程方法。

二、实验内容:

1、实现冒泡排序。

2、实现选择排序。

三、实验结果:

1、实验程序:

a=[79955288179727258773]

n=length(a)

fori=1:

n-1

flag=-1;

forj=n:

-1:

i+1

if(a(j)

temp=a(j);

a(j)=a(j-1);

a(j-1)=temp;

flag=0;

end

end

b=a;

end

b

disp(['循环次数为:

',num2str(i)]);

实验结果:

2、实验程序:

functionb=xuanze(a)

n=length(a);

fori=1:

n-1

min=i;

forj=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;

实验结果:

班级:

通信班姓名:

彭羊平学号:

033

实验五:

matlab程序设计

(2)

一、实验目的:

1、进一步熟悉MATLAB编程语言,熟悉程序设计技术。

2、了解MATLAB的程序调试功能,通过编程熟悉。

2、实验内容:

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

K=10%I<=10万元

5%10

2%20

1%I>40万元

即如王某完成25万元利润时,个人可得

y=10*10%+10*5%+5*2%(万元)

据此编写程序,求企业职工的奖金。

2、有一分数序列

求前15项的和。

(扩展求其前n项和)

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

3、实验结果:

1、实验程序:

(函数文件)

functiony=jiangjin(x)

y=0;

if(x>=0&&x<=10)

y=x*0.1;

elseif(10

y=10*0.1+(x-10)*0.05;

elseif(20

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

实验结果:

班级:

通信班姓名:

彭羊平学号:

033

实验六:

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

a=[1,2,3;2,2,5;3,5,1];

b=[]';

x=a\b

a1=[;;;];

b1=[]';

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;

实验结果:

班级:

通信班姓名:

彭羊平学号:

033

实验七:

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)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2