太原理工MATLAB实验报告.docx

上传人:b****8 文档编号:10097336 上传时间:2023-05-23 格式:DOCX 页数:18 大小:100.68KB
下载 相关 举报
太原理工MATLAB实验报告.docx_第1页
第1页 / 共18页
太原理工MATLAB实验报告.docx_第2页
第2页 / 共18页
太原理工MATLAB实验报告.docx_第3页
第3页 / 共18页
太原理工MATLAB实验报告.docx_第4页
第4页 / 共18页
太原理工MATLAB实验报告.docx_第5页
第5页 / 共18页
太原理工MATLAB实验报告.docx_第6页
第6页 / 共18页
太原理工MATLAB实验报告.docx_第7页
第7页 / 共18页
太原理工MATLAB实验报告.docx_第8页
第8页 / 共18页
太原理工MATLAB实验报告.docx_第9页
第9页 / 共18页
太原理工MATLAB实验报告.docx_第10页
第10页 / 共18页
太原理工MATLAB实验报告.docx_第11页
第11页 / 共18页
太原理工MATLAB实验报告.docx_第12页
第12页 / 共18页
太原理工MATLAB实验报告.docx_第13页
第13页 / 共18页
太原理工MATLAB实验报告.docx_第14页
第14页 / 共18页
太原理工MATLAB实验报告.docx_第15页
第15页 / 共18页
太原理工MATLAB实验报告.docx_第16页
第16页 / 共18页
太原理工MATLAB实验报告.docx_第17页
第17页 / 共18页
太原理工MATLAB实验报告.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

太原理工MATLAB实验报告.docx

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

太原理工MATLAB实验报告.docx

太原理工MATLAB实验报告

实验二矩阵和数组的操作

1、实验目的及要求

1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。

2.学习矩阵和数组的加减运算与乘法。

3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。

2、实验内容

1.用三种方法创建一个3*3矩阵,然后利用矩阵编辑器,将其扩充为4*5矩阵,并保存,试着调用它。

2.建立一个等差数列,然后由它产生一个对角阵

3.利用MATLAB的函数inv(A)求方阵A的逆矩阵。

3、主要仪器设备

计算机、MATLAB软件

四、操作方法与实验步骤

1.用三种方法创建一个3*3矩阵,然后利用矩阵编辑器,将其扩充为4*5矩阵,并保存,试着调用它。

(1)直接输入法

>>A=[3,2,1;4,5,6;7,8,9]

A=

321

456

789

(2)直接利用MATLAB提供的函数创建一个3*3矩阵

>>A=rand(3)

A=

0.95010.48600.4565

0.23110.89130.0185

0.60680.76210.8214

(3)利用MATLAB提供的“MatrixEditor”完成输入

步骤1在命令区输入A=1.

步骤2用鼠标单击工具栏的工作区浏览器,在弹出的变量浏览器中选中变量A,打开矩阵编辑器。

步骤3在左下角的两个文本框中分别输入3行3列。

步骤4把矩阵的行数和列数改为4和5,用鼠标选中表格中需要修改的元素。

步骤5在命令区输入savedataA,保存。

然后在命令区输入loaddata将文件中的矩阵读到工作区的内存中。

2.建立一个等差数列,然后由它产生一个对角阵

>>a=linspace(0,1.5,5)

a=

00.37500.75001.12501.5000

>>A=diag(a)

A=

00000

00.3750000

000.750000

0001.12500

00001.5000

3.利用MATLAB的函数inv(A)求方阵A的逆矩阵。

>>A=[1,2;5,6];

>>B=inv(A)

B=

-1.50000.5000

1.2500-0.2500

五、练习题(实验结果与分析)

1.创建一个5*5矩阵,提取主对角线以上的部分。

>>A=pascal(5)

A=

11111

12345

1361015

14102035

15153570

>>U=triu(A)

U=

11111

02345

0061015

0002035

000070

2.A=rand(3),B=magic(3),C=rand(3,4),计算A*B*C。

>>clearall

>>A=rand(3);

>>B=magic(3);

>>C=rand(3,4);

>>A*B*C

ans=

9.141811.043115.618813.3083

12.166514.445920.560718.0644

10.615311.053417.712515.7092

3.创建一个3*3矩阵,并求其转置,逆矩阵。

>>C=rand(3)

C=

0.95010.48600.4565

0.23110.89130.0185

0.60680.76210.8214

>>B=C'

B=

0.95010.23110.6068

0.48600.89130.7621

0.45650.01850.8214

>>A=inv(C)

A=

1.6740-0.1196-0.9276

-0.41651.17380.2050

-0.8504-1.00061.7125

4.用两种方法求Ax=b的解(A为4阶随即矩阵,b为4阶列向量)。

>>A=rand(4)

A=

0.86000.89980.66020.5341

0.85370.82160.34200.7271

0.59360.64490.28970.3093

0.49660.81800.34120.8385

>>b=[1;2;3;4]

b=

1

2

3

4

>>x=A\b

x=

-7.0715

17.6151

-9.8773

-4.2067

>>x=linsolve(A,b)

x=

-7.0715

17.6151

-9.8773

-4.2067

5.创建一个4阶随机矩阵A,计算

.

>>A=rand(4)

A=

0.56810.44490.95680.9797

0.37040.69460.52260.2714

0.70270.62130.88010.2523

0.54660.79480.17300.8757

>>A^3

ans=

3.90724.62114.51414.1934

2.36232.75512.79842.4013

3.32613.81393.92813.3593

3.00333.65963.35193.2958

6.求100-999之间能被21整除得数的个数。

>>A=100:

999;

>>B=find(mod(A,21)==0)

B=

Columns1through11

627486990111132153174195216

Columns12through22

237258279300321342363384405426447

Columns23through33

468489510531552573594615636657678

Columns34through43

699720741762783804825846867888

>>C=length(B)

C=

43

7.设有矩阵A和B

[1]求它们的乘积C=A*B。

[2]将矩阵C的右下角3*2子矩阵赋给D

A=[12345B=[3016

67891017-69

1112131415023-4

1617181920970

2122232425]41311]

>>A=[1:

5;6:

10;11:

15;16:

20;21:

25]

A=

12345

678910

1112131415

1617181920

2122232425

>>B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]

B=

3016

17-69

023-4

970

41311

>>C=A*B

C=

9315077

258335237

423520397

588705557

753890717

>>D=C(3:

5,[2,3])

D=

520397

705557

890717

实验三矩阵和数组的操作

1、实验目的及要求

1.掌握MATLAB的基本绘图命令。

2.掌握运用MATLAB绘制一维、二维、三维图形的方法。

3.给图形加以修饰。

2、实验内容

1.创建一个5*5魔方矩阵,并画出表示这个矩阵的图形。

2.在同一坐标轴里绘出y=sin(x),z=cos(x)两条曲线。

3.画出y=x^2的曲线(x∈(-5,5))。

4.在同一窗口,不同坐标系里分别绘出y1=sinx,y2=cosx,y3=sinh(x),y4=cosh(x)4个图形。

5.绘制一个三维曲线x=cosp,y=sinp,z=p。

3、主要仪器设备

计算机、MATLAB软件

四、操作方法及实验步骤

1.创建一个5*5魔方矩阵,并画出表示这个矩阵的图形。

在命令区输入:

A=magic(5);plot(A)得出下图

2.在同一坐标轴里绘出y=sin(x),z=cos(x)两条曲线。

在命令区输入:

>>x=linspace(0,2*pi,50);

>>y=sin(x);

>>plot(x,y)

>>holdon

>>z=cos(x);

>>plot(x,z)

>>holdoff

得图

(2)

3.画出y=x^2的曲线(x∈(-5,5))。

在这曲线上加入相同区间里的y=x^(1/3)的曲线,并且要求采用绿色折线标识。

在命令区输入:

>>x=linspace(-5,5,100);

>>y=x.^2;

>>plot(x,y)

>>holdon

>>z=x.^(1/3);

>>plot(x,z,'g--')

>>holdoff

得图(3)

4.在同一窗口,不同坐标系里分别绘出y1=sinx,y2=cosx,y3=sinh(x),y4=cosh(x)4个图形。

在命令区输入:

>>x=linspace(0,2*pi,30);

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

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

>>subplot(2,2,3);plot(x,sinh(x));

>>subplot(2,2,4);plot(x,cosh(x));得图(4)

5.绘制一个三维曲线x=cosp,y=sinp,z=p.在命令区输入:

>>p=0:

pi/10:

20*pi;

>>x=cos(p);y=sin(p);z=p;

>>plot3(x,y,z)得图(5)

(2)

(3)

(4)

(4)

五、练习

1.画出横坐标在(-15,15)上的函数y=cosx的曲线。

在命令区输入:

>>x=-15:

0.1:

15;

>>y=cos(x);

>>plot(x,y)得下图

(5)用图形表示离散函数y=|(n-6)|^(-1),并加入网络。

在命令区输入:

>>n=7:

1:

100;

>>Y=(abs((n-6))).^(-1);

>>plot(n,Y)

>>grid

(6)用图形表示连续调制波形y=sin(t)*sin(9*t)及其包络线。

在命令区输入:

>>t=linspace(0,pi,100);

>>y=sin(t).*sin(9*t);

>>plot(t,y)

>>z1=sin(t);

>>plot(t,z1)

>>y=sin(t).*sin(9*t);

>>plot(t,y)

>>holdon

>>plot(t,z1)

>>holdon

>>z2=-sin(t);

>>plot(t,z2)得下图

实验四M文件的编写

1、实验目的及要求

1.学习MATLAB中的关系运算和逻辑运算,掌握他们的表达形式和用法。

2.掌握MATLAB中的选择结构和循环结构。

3.学会用MATLAB进行M文件的编写和调用。

2、实验内容

1.创建一个矩阵,用函数all和any作用于该矩阵,比较结果。

2.编写一个switch语句,判断输入数的奇偶性。

3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储。

3、主要仪器设备

计算机、MATLAB软件

四、操作方法与实验步骤

1.创建一个矩阵,用函数all和any作用于该矩阵,比较结果。

>>a=[1,2,0,3;2,0,1,4];

>>b=all(a)

b=

1001

>>c=any(a)

c=

1111

>>d=all(b)

d=

0

>>e=any(b)

e=

1

2.编写一个switch语句,判断输入数的奇偶性。

clear

n=input('n=');

switchmod(n,2);

case1

A=‘奇’,

case0

A=‘偶’,

otherwise

A=‘空’,

End

输入和输出为:

n=9

A=

3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储。

f(x1,x2)=0.5457exp(-0.75x2^2-3.75x1^2-1.5x1)x1+x2>1

0.7575exp(-x2^2-6x1^2)-1

0.5457exp(-0.75x2^2-3.75x1^2+1.5x1)x1+x2<=-1

步骤1.打开M文件编辑器file,编写程序:

a=2;b=2;

clf;

x=-a:

0.2:

a;y=-b:

0.2:

b;

fori=1:

length(x)

forj=1:

length(x)

ifx(j)+y(i)>1

z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));

elseifx(j)+y(i)<=-1

z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));

else

z(i,j)=0.7575*exp(-y(i)^2-6*x(j)^2);

end

end

end

end

axis([-a,a,-b,b,min(min(z)),max(max(z))]);

colormap(flipud(winter));surf(x,y,z);

步骤2.选择file/save命令,将文件保存命名为firsr.m。

步骤3在命令窗口输入文件名,可看见图形如下:

4、练习

1.编写一段程序计算n的阶乘。

步骤一:

打开M文件编辑器,编写以下内容:

clear

n=input('n=');

sum=1;

fori=1:

n

sum=sum*i;

end

sum

步骤二:

将文件保存并命名。

步骤三:

在命令窗口输入文件名然后可得到:

n=5

sum=

120

2.编写一个程序求出阶乘大于或等于99^99的最小整数。

编写程序如下:

clear

sum=1;

fori=1:

1000

sum=sum*i;

ifsum>=99^99

break

end

end

i

最后得出结果:

i=

120

讨论、心得

通过本次实验,我熟悉了MATLAB的各个命令窗口以及基本操作,能够进行一些数值运算,实现语句的重调和修改。

还学会了用它对数组和矩阵进行一系列操作;学会了用它绘制一维、二维、三维图形并对图形加以修饰;学会了编写M文件以及MATLAB中的一些运算及其表现方式和用法。

总之,在学习过程中,我发现MATLAB的功能十分强大,在使用简单易用的程序语句的同时,还具有强大的数据处理能力、出色的图形处理功能以及应用软件的开发等多种功能,可以说,MATLAB小到计算数据,大到设计飞机都可以使用。

这么一款功能强大、多样,且非常实用的软件,我想我们有必要好好地学习与掌握它。

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

当前位置:首页 > 自然科学 > 物理

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

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