太原理工大学MATLAB实验报告

时间:2024.4.18

说明:这只是报告的雏形!分享智慧,分享经验,仅供参考,欢迎交流,切勿Ctrl+C and Ctrl+V

本科实验报告

课程名称:   MATLAB及在电子信息工程中应用    

实验项目:    MATLAB实验指导书二..          

实验地点:        中区图书馆起点机房                  

专业班级:  信息1102    学号:         

学生姓名:               李政洁                

指导教师:               李鸿燕                

                               20##年  5   月  26   日           

实验二  矩阵和数组的操作

一.实验环境

   MATLAB2012a

二.实验目的

   1.掌握矩阵和数组的一般操作。

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

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

三.实验内容             

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

A=[1:5;2 4 6 8 10;3:2:11;linspace(1,6,5);11 ,12, 13, 14,15]

A =

    1.0000    2.0000    3.0000    4.0000    5.0000

    2.0000    4.0000    6.0000    8.0000   10.0000

    3.0000    5.0000    7.0000    9.0000   11.0000

    1.0000    2.2500    3.5000    4.7500    6.0000

   11.0000   12.0000   13.0000   14.0000   15.0000

%在矩阵A的创建中,太原理工大学信息学院李政洁一次性演示了多种创建方式的混合使用。。。。

B=triu(A)

B =

    1.0000    2.0000    3.0000    4.0000    5.0000

         0    4.0000    6.0000    8.0000   10.0000

         0         0    7.0000    9.0000   11.0000

         0         0         0    4.7500    6.0000

         0         0         0         0   15.0000

%矩阵B为提取了主对角线及以上元素,但B不符合题目要求,于是李政洁在下面将使用triu(A,1)

C=triu(A,1)                                                              

C =

     0     2     3     4     5

     0     0     6     8    10

     0     0     0     9    11

     0     0     0     0     6

     0     0     0     0     0

% OK,至此,李政洁同学完成了第一题,A,C分别为所求矩阵。

%  2.计算三个指定矩阵相乘

D=rand(3)

D =

    0.8147    0.9134    0.2785

    0.9058    0.6324    0.5469

    0.1270    0.0975    0.9575

E=magic(3)

E =

     8     1     6

     3     5     7

     4     9     2

F=rand(3,4)

F =

    0.9649    0.9572    0.1419    0.7922

    0.1576    0.4854    0.4218    0.9595

    0.9706    0.8003    0.9157    0.6557

G=D*E*F

G =

   22.7418   23.2308   15.6399   23.5486

   22.9828   23.9760   15.4310   24.7855

    9.6742   12.0883    7.6995   15.1322

%  OK,至此,李政洁完成了第二题,下面我们快乐的开始第三题吧!

%  3.创建一个3X3矩阵,并求其转置,逆矩阵

H=magic(3)

H =

     8     1     6

     3     5     7

     4     9     2

%为了快速创建,李同学使用了函数magic();

I=H'

I =

     8     3     4

     1     5     9

     6     7     2

%  I为所创建矩阵的转置

J=inv(H)

J =

    0.1472   -0.1444    0.0639

   -0.0611    0.0222    0.1056

   -0.0194    0.1889   -0.1028

%  J为所创建矩阵H的逆矩阵

%  OK,至此,政洁完成了第三题,进入下一题

%  4.用两种方法求Ax=b的解(A为四阶随机矩阵,b为四阶行向量)

A1=rand(4)

A1 =

    0.0357    0.7577    0.1712    0.0462

    0.8491    0.7431    0.7060    0.0971

    0.9340    0.3922    0.0318    0.8235

   0.6787    0.6555    0.2769    0.6948

b1=[1 2 3 4]'

b1 =

    1

    2

     3

     4

%法一

x1=inv(A1)*b1

x1 =

   -2.3797

   -0.0513

    4.8988

    6.1774

%法二

x2=A1\b1

x2 =

   -2.3797

   -0.0513

    4.8988

    6.1774

%x1==x2,这也验证了方法的正确性,李政洁同学圆满完成老师这道题要考察

%的内容!!!

%  5.创建一个随机矩阵,计算A的立方

K=rand(4)

K =

    0.3171    0.3816    0.4898    0.7547

    0.9502    0.7655    0.4456    0.2760

    0.0344    0.7952    0.6463    0.6797

    0.4387    0.1869    0.7094    0.6551

L=K^3

L =

    1.7085    2.1869    2.4099    2.4405

    2.3205    2.7714    3.0098    3.0553

    2.0843    2.6034    2.7182    2.7732

    1.7565    2.2160    2.4594    2.4274

%  ok,这也是一个简单的操作,做下一个吧。。

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

M=100:999;  %数太多了,就不显示了

N=find(rem(M,21)==0);

O=length(N)

O =

    43

%M:100-999之间整数组成的一维数组或者可以说是一个行向量

%N:M中能被21整除的数的下标

%0:这些下标的个数,亦为数组中能被21整除的数的个数

%下面我要做第七题了

%  7.设有矩阵A,B,求C=AXB,将右下角3X2子矩阵赋给D

P=1:25;

A3=reshape(P,5,5)

A3 =

     1     6    11    16    21

     2     7    12    17    22

     3     8    13    18    23

     4     9    14    19    24

     5    10    15    20    25

A3=A3'

A3 =

     1     2     3     4     5

     6     7     8     9    10

    11    12    13    14    15

    16    17    18    19    20

    21    22    23    24    25

%政洁同学使用维数重组和转置快速完成了题目所设定矩阵的创建

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

B3 =

     3     0    16

    17    -6     9

     0    23    -4

     9     7     0

     4    13    11

%A3 ,B3分别题目中的A,B,我这么做是想是同一报告中不要总是出现A,B

C3=A3*B3

C3 =

    93   150    77

   258   335   237

   423   520   397

   588   705   557

   753   890   717

D3=tril(C3,-2)

D3 =

     0     0     0

     0     0     0

   423     0     0

   588   705     0

   753   890   717

%至此,李政洁完成了第七题,哈哈^-^

%^—^太原理工电子信息工程1102班李政洁^-^

%至此,完成《实验二 矩阵和数组的操作》。。

diary

四.实验说明

   我在MATLAB2012a中完成实验二  矩阵和数组的操作,在这个过程中,我使用了diary命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档并有了如上的实验。

实验三  MATLAB绘图

一.实验环境

   MATLAB2012a

二.实验目的

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

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

3.绘图加以修饰

三.实验内容

   (一)书本实例

1.创建一个5X5魔方矩阵,并画出这个矩阵的图形

代码:

%太原理工大学信息学院电子信息工程1102班李政洁

%实验三实验内容和步骤

A=magic(5);

plot(A);

title('magic(5) by LZJ')                         

图形:

2. 在同一坐标轴绘制sin(x),cos(x)两条曲线

代码:

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

y=sin(x);

plot(x,y)

title('sin and cos by LZJ')

hold on

z=cos(x);

plot(x,z)

hold off

图形:

3.画出y=x^2,-5<x<5,y=x^(1/3)

代码:

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

y=x.^2;

plot(x,y)

hold on

z=x.^(1/3);

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

title('y=x^2 and y=x^(1/3) by LZJ')

hold off

图形:

4.在同一窗口,不同坐标系里分别绘出sin(x),cos(x),sinh(x),cosh(x)

代码:

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));

title('4 subplot by LZJ')

图形:

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p

代码:

p=0:pi/10:20*pi;

plot3(cos(p),sin(p),p)

title('plot3(cos(p),sin(p),p) by LZJ')

图形:

(二)书本练习

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

代码:

x=linspace(-15,15,1000);

y=cos(x);

plot(x,y)

axis([-15.1 15.1 -1.1 1.1])

title('cos(x) by LZJ')

图形:

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

代码2.1:

%2 用图形表示离散函数y=|(n-6)|^(-1)

n=-10:15;

y2=1./(abs(n-6)+eps);

stem(n,y2,'fill')

title(' y2=1./(abs(n-6)+eps) by LZJ')

axis([-11 16 -0.1 1.2 ])

ylabel('限制坐标')

图形2.1:

代码2.2:

n=-10:15;

y4=1./abs(n-6);

plot(n,y4)

title(' y4=1./abs(n-6) by LZJ')

axis([-11 16 -0.1 1.2 ])

ylabel('限制坐标')

grid on

图形2.2:

3. 绘制y=sin(t)*sin(9t)及其包络线

代码:

t=linspace(-pi,pi,100);

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

plot(t,y)

title('y=sin(t)*sin(9t) by LZJ')

hold on

plot(t,sin(t))

plot(t,-sin(t))

图形:

四.实验说明

   我在MATLAB2012a中完成实验三 MATLAB绘图,在这个过程中,我使用了diary命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档,还使用了Word2007随时记录我的图形。在实验的过程中,我反复探索,对程序小小改动,这样改一下那样改一下,记录了很多的图形及代码,但为了保持实验报告的简洁易读,我省去了这些实验过程中的记录。同时,为了保护知识产权,我在图形的title上加了‘by LZJ’,LZJ既李政洁的拼音首写字母简写。

实验四  M文件的编写

一.实验环境

   MATLAB2012a

二.实验目的

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

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

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

二.实验内容

(一)课本实例

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

代码及结果:

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

a =

     1     2     0     3

     2     0     1     4

b=all(a)

b =

     1     0     0     1

c=any(a)

c =

     1     1     1     1

d=all(b)

d =

     0

e=any(b)

e =

     1

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

M文件代码:

n=input('n=');

switch mod(n,2)

case 1

A='奇数'

case 0

A='偶数'

otherwise

A='空'

End

Command windows运行结果:

n=7

A =

奇数

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

M文件代码:

%编写一个函数画出指定函数所表示的曲面

a=2;b=2;

clf;

x=-a:0.1:a;y=-b:0.1:b;

for i=1:length(y)

    for j=1:length(x)

        if x(j)+y(i)>1

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

        else if x(j)+y(i)<=-1

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

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

            end

        end

    end

end

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

colormap(flipud(winter));

surf(x,y,f);

title('f(i,j) by LZJ')

图形:                        

(二)练习

1.编写一个程序计算N的阶乘

M文件代码:

%太原理工大学信息学院信息1102班李政洁

%计算阶乘

function f=exp_jiecheng(n)

f=1;

while n~=0;

    f=f*n;

    n=n-1;

end

运行演示:

>> exp_jiecheng(7)

ans =

        5040

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

M文件代码:

%太原理工大学信息学院信息1102班李政洁

%计算使阶乘大于等于99^99的n最小值

for n=110:125;

fjiecheng=exp_jiecheng(n);

    if fjiecheng>=99^99

        n

        break;

    end

end

四.实验说明

   我在MATLAB2012a中完成实验四 M文件的编写,在这个过程中,我使用了diary命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档并且使用Word2007记录图形。同时,为了保护知识产权,我在图形的title上加了‘by LZJ’,LZJ既李政洁的拼音首写字母简写。

说明:这只是报告的雏形!分享智慧,分享经验,仅供参考,欢迎交流,切勿Ctrl+C and Ctrl+V

更多相关推荐:
太原理工大学物理实验报告4

太原理工大学物理实验报告4,内容附图。

太原理工大学数据结构实验报告

数据结构实验报告课程名称数据结构实验项目线性表树图查找内排序实验地点专业班级物联网学号学生姓名指导教师周杰伦20xx年月日实验一线性表目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结...

太原理工大学数据结构实验报告

数据结构实验报告课程名称数据结构实验项目线性表树图查找内排序实验地点专业班级物联网学号学生姓名指导教师周杰伦20xx年月日实验一线性表目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结...

太原理工大学实验报告封皮及正文

课程名称实验项目实验地点专业班级学生姓名指导教师学号年月日太原理工大学学生实验报告

太原理工大学实验报告封皮及正文

课程名称实验项目实验地点专业班级学生姓名指导教师学号年月日太原理工大学学生实验报告

太原理工大学单片机实验报告

实验一双字节加法一实验目的(1)熟悉并掌握MCS-51指令系统和程序设计方法。(2)掌握双字节加法的程序算法。二实验设备计算机操作系统:Windows98/2000/XP应用软件:WAVE6000或其他。三实验…

太原理工大学系统分析实验报告-20xx

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告系统分析与设计网上书店系统实验逸夫楼402学号20xx年11月18日1目录1实验准备熟悉UML建模环境2实验一用例图3实验二类图4实验三顺序图及通信图...

太原理工大学网络实验报告3

太原理工大学网络实验报告3,内容附图。

太原理工大学现代科技学院课程_实验报告

太原理工大学现代科技学院课程实验报告专业班级学号姓名指导教师太原理工大学现代科技学院实验报告装订线实验名称同组人专业班级学号姓名成绩太原理工大学现代科技学院实验报告装订线太原理工大学现代科技学院实验报告装订线太...

太原理工大学GNSS卫星定位原理及应用实验报告格式

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告GPS卫星定位原理及应用RTKGPS测量与接收机参数设置实验虎峪区校园学号年月日实验目的验证RTKGPS测量原理与方法仪器型号编号生产商学时数2学时实...

太原理工大学实验报告封面

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告学号年月日一实验目的和要求必填二实验内容和原理必填三主要仪器设备必填四操作方法与实验步骤可选五实验数据记录和处理可选六实验结果与分析必填七讨论心得可选

太原理工大学实验报告格式

太原理工大学本科实验报告课程名称实验项目实验地点专业班级学号学生名称指导教师年月日一实验目的和要求必填二实验内容和原理必填三主要仪器设备必填四操作方法与实验步骤五实验数据记录和处理六实验结果与分析必填七讨论心得

太原理工大学物理实验报告(17篇)