MATLAB学习笔记:MATLAB语言概述及基本运算操作

本文介绍了MATLAB的基本概念,包括其作为科学计算软件的特点,以及如何通过学习基本语法、理解窗口界面和常用命令来入门。文章涵盖了MATLAB的界面构成、变量操作、矩阵运算和示例实践等内容,适合初学者参考。
摘要由CSDN通过智能技术生成

前言

本栏目的文章,文章的主要面向初学者,意在帮助初学者入门。文章主要基于博主的上课内容以及自学历程,总结而成,可能有许多不恰当之处,还请大佬指正!

MATLAB的语法知识相对简单,复杂的点在于灵活运用MATLAB中集成的不同函数,因此纸上谈兵不可取,一定要结合具体内容进行实践!你可以先学习基本语法,然后试着完成文章最后的例子。我也推荐你MATLAB官方的互动学习项目,基本也能达到入门水平【唯一的问题在于,国内的网,经常不能正常访问该网站…】链接如下:

同时,在初期学习的过程中,要养成遇到问题可以自己通过查阅互联网内容进而解决问题的能力。在此,我推荐两个比较权威的网站:

MATLAB语言特点

MATLAB是“MATrixLABoratory”的简写,即矩阵实验室,是美国MathWorks公司于1984年推出的一种科学计算软件。正如它的名称,MATLAB擅长矩阵运算,被广泛运用于各个领域的数据处理、数据拟真。其具有以下几个特点:

  • MATLAB是一种解释性语言
  • 变量的多功能性
  • 运算符号的多功能性
  • 语言规则与笔算式相似
  • 强大而简易的作图功能
  • 智能化程度高
  • 功能丰富,拓展性强

由于篇幅问题,不做具体具体解释。但是随着后续学习的深入,你一定会逐步发现上述特点的具体例子。

MATLAB窗口及常用命令

MATLAB界面

通常情况下,MATLAB的工作环境由命令窗口(Command Window)、当前路径窗口(Current Directory)、工作空间浏览窗口(Workspace)、命令历史窗口(Command History)、启动平台(Launch Pad)、图形窗口(Figure)和文本编辑窗口(Editor)组成。不同版本的MATLAB的界面基本相同,在此,以2018b版本的MATLAB为例对主要的几个窗口进行解释。

MATLAB界面

  • 当前路径窗口(上图紫色区域)

    主要显示当前在什么路径下,包括M文件的打开路径等,与自定义函数的调用等有关。

  • 工作空间窗口 (上图绿色区域)

    工作空间作为一个独立的窗口,可以方便地查看当前程序中的变量,包括元素名、变量的维度、变量所占内存及变量的类型。同时,我们可以直接对工作空间中的变量进行删除、保存、修改等操作。比如使用鼠标双击某个变量,直接进入数组编辑器,对具体的值进行操作。

  • 文本编辑窗口 (上图蓝色区域)

    该区域是我们最常使用的区域,即代码编辑、运行结果显示。与其他IDE一样,MATLAB也可以创建、编辑和小孩相关文件(.M文件)我们也可以根据自己的喜好,对文本编辑窗口进行个性化设置。主页->环境->预设,感兴趣的同学可以自行进行探索。

  • 命令行窗口 (上图橙色区域)

    由于MATLAB与Python一样是解释性语言,所以MATLAB也可以一行命令一行命令的输入并执行,即通过命令行窗口输入语句实现对应的功能。当然,主要的编程还是在.M文件中实现,此处我们只介绍基本的操作命令。

MATLAB常用命令

MATLAB中的命令有很多,常用的如下:

  1. 窗口命令

    clf:清除当前图形窗口中的所有非隐藏对象

    close:关闭当前图形窗口

    close all:关闭所有图形窗口

    clc:清除命令窗口的所有内容

  2. 工作空间管理命令

    who:列出工作空间中的所有变量

    whos:列出工作空间中的所有变量的详细信息

    clear:清除工作空间的所有变量

    clear all:清除工作空间的所有变量、函数和MEX文件

    save:将工作空间的变量保存到磁盘文件

    load:从磁盘空间加载变量到工作空间

  3. 显示格式设置命令

    format type:输出数据格式显示命令

  4. 调试命令

    dbclear:清除断点

    dbcont:重新开始运行

    dbquit:退出调试模式

  5. 文件操作命令

    what:列出当前目录下MATLAB指定的文件

    which:显示函数或文件的位置

  6. 帮助命令

    help:在命令窗口中显示MATLAB 函数或命令的帮助信息

    doc:在help浏览器中显示某个函数的联机帮助文档,参数为函数名

MATLAB基本语法

变量

  1. 生成矩阵

    在输入矩阵式,应遵循以下规则:

    • 使用方括号[]索引矩阵
    • 同一行的各元素用空格 或逗号,相隔
    • 每一行以分号;结尾

    这是MATLAB中最最最最常用的变量生成方式,具体实践中很容易就掌握!

  2. 赋值技巧

    冒号操作符:

    • 用以表示一个范围

      t=j:i:k (以j为初始值,步长为i,直到终值k)

    • 代替全行(全列)

      a(5,:) 即代表矩阵a的第五行

      a(:,2)即代表矩阵a的第二列

  3. 特殊矩阵和数组

    • zeros

      生成一个元素全部为0的矩阵或数组

    • ones

      生成一个元素全部为1的矩阵或数组

    • eye

      生成一个单位阵

    • diag(A)

      获取矩阵A的主对角线所有元素,返回一个列向量

    • rand

      生成一个元素在(0,1)之间服从均匀分布的矩阵

      对生成后的矩阵进行算术运算,就可以得到任意范围的随机数矩阵

    • randn

      生成一个元素均值为0,方差为1,矩阵元素服从正态分布的随机数矩阵

  4. 特殊变量和常数

    • pi

      常数,表示圆周率值

    • Inf

      常数,代表无穷大

    • NaN

      表示非数值

    • ans

      临时变量,提示当前语句运算的结果

基本运算

  1. 加减

    • 矩阵

      与线性代数中定义的一样,元素对应相加减 A+B,A-B

    • 标量

      正常的加减运算 a+b,a-b

    • 矩阵与矩阵

      遵循线性代数中矩阵运算规则 A*B

    • 标量与标量

      正常的乘运算 a*b

  2. 点乘

    • 矩阵与矩阵

      矩阵的对应元素相乘 A.*B

    • 矩阵与标量

      每个矩阵元素乘标量 a.*B

  3. 矩阵右除、左除

    • B/A=B*inv(A)
    • A\C=inv(A)*C
      inv(A)函数,实现对矩阵A求逆
  4. 幂运算

    • 矩阵幂 X^p

      p为标量时,表示X的p次幂(X可为标量也可为矩阵);p为矩阵时,用特征值和特征向量表示X矩阵的p次幂。

      • 矩阵元素幂 A.^B

        A与B需为同型矩阵,或其中之一是标量。

  5. 矩阵转置

    A'表示对矩阵A进行转置,对于复矩阵,表示复共轭矩阵。

样例实践

1.1.1计算当x=2和x=4时的值

x = [2,4];
y = x(1)^3+((x(1)-0.98)^2)/((x(1)+1.35)^3)-5*(x(1)+1/x(1))
y = x(2)^3+((x(2)-0.98)^2)/((x(2)+1.35)^3)-5*(x(2)+1/x(2))
  1. 计算1.2

    cosd(60) - (9-sqrt(2))^(1/3)
    

    cosd()括号里是角度值,cos()里是弧度值

  2. 已知在这里插入图片描述求C

    a=3;
    A=4;
    b=a^2;
    B=b^2-1;
    c=a+A-2*B;
    C=a+2*B+c
    
  3. 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];
    B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];
    try
        C=A*B;
    catch
        C=A.*B;
        lasterr
    end
    C
    D=A.*B
    

    try…catch…语句类似if…else… 当有语句不确定结果时,可以使用

    lasteer类似C语言中的perror()函数,会显示程序错误的原因

  4. 计算福彩双色球一等奖的中奖概率问题。福彩双色球玩法如下:从编号1~33的红球里任选6个,另外在编号1~16的蓝球里再任选1个。如果选择的红球和蓝球与当期的开奖结果一致(顺序可以不同),则中一等奖的概率为多少?

    p = 1/nchoosek(33,6)/nchoosek(16,1)
    

    nchoosek()函数实现组合数的运算

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值