Matlab学习报告
    Matlab的主要功能有数值分析、数字图像处理、数值和符号计算、数字信号处理、工程与科学绘图、通讯系统设计与仿真、控制系统的设计与仿真、财务与金融工程…… 真的是功能强大。之所以学习MATLAB就是因为它有很多优点:(1).高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2).具有完备的图形处理功能,实现计算结果和编程的可视化;(3).友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;(4).功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具等等。(一)、回顾学习Matlab的时间并不长,不是应为它容易学习,而是时间太少,我们只是做一个基础性的了解,在未来的学习生活中还要继续学习。通过这一学期的学习,现在简单回顾一下。第一讲:简介
    本章主要介绍MATLAB的一些基本情况,对该软件有了一个整体认识。包括:  MATLAB的功能、发展历史、特点以及安装等。第二讲:Matlab语言基础   了解了数据类型、操作符、基本数学函数、脚本编程、数据类型、操作符。第三讲:MATLAB  数值运算
    本章介绍的数值计算功能包括:向量和数组,并熟悉了它们之间的运算。第四讲:MATLAB  符号运算了解了符号表达式,符号函数,符号积分,符号微分,符号方程,符号变换等。第五讲:MATLAB  程序设计通过对本章的学习,到达了以下要求:
1).可以编写简单且功能完善的MATLAB 程序,从而解决各类基本问题,逐步掌握MATLAB 的数值计算方法。2).掌握命令执行方式:(1)交互式方式---命令行(2)M文件方式---命令文件、函数文件3).掌握变量和函数的种类。4).了解程序的调试和优化。第六讲:MATLAB  数据可视化了解matlab的图形对象体系,掌握基本的绘图函数。(二)、收获
接下来,我就矩阵运算来谈谈这次学习的收获。
1、矩阵的建立
1).直接输入法。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
例:A=[1,2,3,;4,5,6;7,8,9]
A =1     2     34     5     67     8     9 2).利用M文件建立矩阵。对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用M文件创建矩阵。
例:利用M文件建立MYMAT矩阵。
具体步骤如下:(1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:(2) 把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。(3) 在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。3).利用冒号表达式建立一个向量。冒号表达式可以产生一个行向量,一般格式是:
e1:e2:e3。其中e1为初始值,e2为步长,e3为终止值。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)。其中a和b是生成向量的第一个和最后一个元素,n是元素总数。linspace(a,b,n)与a:(b-a)/(n-1):b等价。4).建立大矩阵。大矩阵可由方括号中的小矩阵或向量建立起来。2、矩阵的拆分
1).矩阵元素。(1)通过下标引用矩阵的元素。
例:>>  A=[3,5,8,7;6,12,5,9;5,8,9,18;3,8,4,16]:
A =3     5     8     76    12     5     95     8     9    183     8     4    16
>> A(3,2)
ans =8(2)采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。
例:>> A=[1,2,3;4,5,6];
A(3)
ans =2
显然,序号(Index)与下标(Subscript )是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。2).矩阵拆分。(1)利用冒号表达式获得子矩阵。
A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。(2)利用空矩阵删除矩阵的元素。
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。
注意:X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
3、特殊矩阵。1).通用的特殊矩阵。
常用的产生通用特殊矩阵的函数有:
zeros:产生全0矩阵(零矩阵)。
ones:产生全1矩阵(幺矩阵)。
eye:产生单位矩阵。
rand:产生0~1间均匀分布的随机矩阵。
randn:产生均值为0,方差为1的标准正态分布随机矩阵。例1:建立一个3×3零矩阵。
>> zeros(3)
ans =0     0     00     0     00     0     0
例2:建立随机矩阵。在区间[20,50]内均匀分布的5阶随机矩阵。
>> x=20+(50-20)*rand(5)
x =
48.5039   42.8629   38.4630   32.1712   21.736726.9342   33.6940   43.7581   48.0641   30.586038.2053   20.5551   47.6544   47.5071   44.395034.5795   44.6422   42.1462   32.3081   20.295846.7390   33.3411   25.2880   46.8095   24.1667
2).用于专门学科的特殊矩阵。(1)范得蒙矩阵。
范得蒙矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
例:
>> A=vander([1;2;3;5])
A =1     1     1     18     4     2     127     9     3     1125    25     5     1(2)伴随矩阵。
MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向
量,高次幂系数排在前,低次幂排在后。
例:求多项式的x3-7x+6的伴随矩阵。
>> p=[1,0,-7,6];
compan(p)
ans =0     7    -61     0     00     1     04、矩阵的MATLAB运算。
1).矩阵的基本运算。假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。其他运算如下:
数乘             k*A   K是一个数,A是一个矩阵).
矩阵的左除       A\B   AX=B, X=A-1B, A必须是方阵).
矩阵的右除       A/B   XB=A,X=AB-1, B必须是方阵).
行列式的秩       det(A) A必须为方阵).
矩阵的逆         Inv(A) A必须为方阵,|A| ‡ 0).2).矩阵的特征值、特征向量、特征多项式。
p=poly(A)
若A为矩阵,则p为A的特征多项式系数;
若A为行向量,则p为以A为根的特征多项式系数poly2str(p,’x’)特征多项式。例1:>> A=[1,-1;2,4];
>> p=poly(A)
p =1    -5     6
>> poly2str(p,'x')
ans =x^2 - 5 x + 6例2:>> A=[1,-1;2,4];
[V,D]=eig(A)
V =                                  方阵A的特征向量矩阵-0.7071    0.44720.7071   -0.8944
D =                                  方阵A的特征值矩阵2     00     3例3:产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。(1)生成5阶随机方阵A。
>> A=fix((90-10+1)*rand(5)+10)
A =86    71    59    42    1428    46    74    85    3859    11    84    84    7549    76    69    43    1082    46    24    82    21(2)判断A的元素是否可以被3整除。
>> P=rem(A,3)==0
P =0     0     0     1     00     0     0     0     00     0     1     1     10     0     1     0     00     0     1     0     1则为1的位置对应在原矩阵中的数字即为能被3整除的数字。3).矩阵的逻辑运算。
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。
逻辑运算的运算法则为:(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。
    (2)设参与逻辑运算的是两个标量a和b,那么:
a&b  a,b全为非零时,运算结果为1,否则为0。
a|b   a,b中只要有一个非零,运算结果为1。
~a  当a是零时,运算结果为1;当a非零时,运算结果为0。(3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量
规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。(4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。(5)逻辑非是单目运算符,也服从矩阵运算规则。(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。
例:建立矩阵A,然后找出大于4的元素的位置。
>> A=[4,-65,-54,0,6;56,0,67,-45,0]
A =4   -65   -54     0     656     0    67   -45     0
>> find(A>4)
ans =2             69
5、矩阵分析。
1).对角阵。(1)提取矩阵的对角线元素
设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。(2)构造对角矩阵。设V为具有m个元素的向量,diag(V)将产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。例:先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。
>>  A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19]
D=diag(1:5);
D*A
A =17     0     1     0    1523     5     7    14    164     0    13     0    2210    12    19    21     311    18    25     2    19
ans =17     0     1     0    1546    10    14    28    3212     0    39     0    6640    48    76    84    1255    90   125    10    952).三角阵。(1)上三角矩阵。
求矩阵A的上三角阵的MATLAB函数是triu(A)。triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B。(2)下三角矩阵
在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。
例:创建一个5×5矩阵,提取主对角线以上的部分。
>> rand(6)
ans =0.2028    0.7468    0.5252    0.3795    0.1897    0.69790.1987    0.4451    0.2026    0.8318    0.1934    0.37840.6038    0.9318    0.6721    0.5028    0.6822    0.86000.2722    0.4660    0.8381    0.7095    0.3028    0.85370.1988    0.4186    0.0196    0.4289    0.5417    0.59360.0153    0.8462    0.6813    0.3046    0.1509    0.4966
>>  triu(rand(6))
ans =0.8998    0.2897    0.5681    0.6213    0.9797    0.01180   0.3412    0.3704    0.7948    0.2714    0.89390        0    0.7027    0.9568    0.2523    0.19910        0         0    0.5226   0.8757     0.29870        0         0        0    0.7373    0.66140        0         0        0         0    0.28443).矩阵的转置。
例:>>  A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19]
A =17     0     1     0    1523     5     7    14    164     0    13     0    2210    12    19    21     311    18    25     2    19
A'
ans =17    23     4    10    110     5     0    12    181     7    13    19    250    14     0    21     215    16    22     3    194).矩阵的伪逆。如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得:
A•B•A=A
B•A•B=B
此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。
在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。
例:>> A=[1,5,7,9;5,6,4,2;6,7,5,3]
A =1     5     7     95     6     4     26     7     5     3
>> B=pinv(A)
B =-0.2000   -2.4000    2.20000.1167    2.3167   -1.95000.0667    0.4667   -0.40000.0167   -1.3833    1.1500
>> A*B*A
ans =1.0000    5.0000    7.0000    9.00005.0000    6.0000    4.0000    2.00006.0000    7.0000    5.0000    3.0000
5).矩阵的秩。矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。(三)、心得体会通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败。通过对MATLAB的数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,掌握了MATLAB的实用方法。自我感觉学习matlab,与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。其实想要学习好一们语言,不能只靠老师,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。学习这门语言,不光是学习一种语言和技能,更重要的是学习一种方法和思维。

附录 本篇报告下载链接

matlab学习报告相关推荐

  1. 多速率信号处理专题研讨 matlab,数字信号处理》课程研究性学习报告多速率信号处理专题研讨...

    1 / 11 数字信号处理>课程研究性学习报告多速率信号处理专题研讨 时间: 2016-05-30 来源:唯才教育网 本文已影响 人 <数字信号处理>课程研究性学习报告 姓名 学号 ...

  2. 多速率信号处理专题研讨 matlab,数字信号处理》课程研究性学习报告,多速率信号处理专题研讨...

    1/11数字信号处理>课程研究性学习报告,多速率信号处理专题研讨<数字信号处理>课程研究性学习报告姓名学号同组成员指导教师时间多速率信号处理专题研讨[目的]掌握序列抽取运算与内插运算 ...

  3. matlab+nnf.m,中南大学-信号与系统matlab实验报告.doc

    中南大学-信号与系统matlab实验报告.doc 实验一 基本信号的生成 1 实验目的 学会 使用 MATLAB 产生各种常见的连续时间信号与离散时间信号: 通过 MATLAB 中的绘图工具对产生的信 ...

  4. matlab m文件的编写,Matlab实验报告(四)M文件的编写.doc

    Matlab实验报告(四)M文件的编写.doc 实验目的 学习MATLAB屮的关系运算和逻辑运算,掌握它们的表达形式和川法. 掌握MATLAB中的选择结构和循环结构. 学会用MATLAB进行M文件的编 ...

  5. matlab的上机报告,数理统计和Matlab上机报告.doc

    数理统计和Matlab上机报告.doc 统计分析软件(matlab)实验报告1序号班级姓名学号日期时间地点信计1302张温柔4136309620150706实验楼102指导教师李娜实验名称1. mat ...

  6. matlab弹簧阻尼系统论文,MATLAB系统仿真报告有阻尼受迫振动系统.doc

    MATLAB系统仿真报告有阻尼受迫振动系统 问题描述 有阻尼受迫振动的结构及基本原理 图一 有阻尼的受迫振动系统 图1为有阻尼的受迫振动系统,质量为M,摩擦系数为B, 弹簧倔强系数为K.拉力.摩擦力和 ...

  7. 地震波ifft matlab,地震波观测系统的MATLAB仿真报告

    地震波观测系统的MATLAB仿真报告 本文关键词:地震波,观测,仿真,报告,系统 地震波观测系统的MATLAB仿真报告 本文简介:地震波观测系统的MATLAB仿真课程名称数字信号处理实验项目题目6地震 ...

  8. matlab上机实验报告,matlab实验报告格式.doc

    matlab实验报告格式,matlab实验报告,matlab实验报告总结,matlab综合实验报告,matlab数学实验报告,matlab仿真实验报告,matlab上机实验报告,matlab实验报告模 ...

  9. matlab实验报告实验6函数文件,南昌大学matlab实验报告.docx

    南昌大学matlab实验报告.docx 1MATLAB实验报告2姓名学号班级机制目录实验一熟悉MATLAB环境认识MATLAB----------3实验二MATLAB运算基础------------- ...

最新文章

  1. Spring MVC拦截器实现
  2. 6.ajax应用,ajax应用
  3. 十大有用但又偏执的Java编程技术
  4. liunx系统不能登陆的问题
  5. 9个小技巧助你获得职场幸福
  6. linux主机重启之后,报UNEXPECTED INCOMSISTEMCY:RUN fsck MANUALLY.
  7. 关于SO引用的过滤:abiFilters
  8. SQL Server数据类型概述
  9. C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)
  10. 360怎么看电脑配置_电脑配置清单速查表-AMD
  11. CSS font-family 各字体一览表
  12. python 爬虫 美女_Python3爬取美女妹子图片
  13. Python Numpy random.zipf() Zipf分布
  14. CentOS7安装谷歌浏览器
  15. 【数学与统计基础】常用统计检验方法的Python实现
  16. 基于海康sdk回放下载
  17. 转载记录 数据源配置
  18. 适用于Linux的5种开源赛车和飞行游戏
  19. 使用Focus for Mac怎样阻止应用程序?
  20. 寻仙服务器维护公告,《古剑奇谭网络版》8月23日更新维护公告

热门文章

  1. 爷笑了!nginx的配置文件没有生效,访问的都是欢迎界面!
  2. 圆点标定板的标志点提取、标定实验总结
  3. 开源堡垒机或者运维安全审计系统
  4. 响铃:主打素人直播,这会是石榴直播(六间房)的解药还是春药?
  5. python 最快 因式分解_python – 快速素因子分解模块
  6. html---txt文本编辑方式讲解
  7. 怎么将视频转为音频mp3格式?
  8. FANUC机器人开平方
  9. Problem E. Serval 的俳句
  10. cryp:11:基于陷阱门置换的公钥加密