matlab怎么定义矩阵变量_MATLAB01:基本的数学运算与矩阵运算

若微信排版有问题,请点击阅读原文查看MATLAB01:基本的数学运算与矩阵运算MATLAB基本语法变量变量名保留变量不适合做变量名变量不应当覆盖内置函数变量类型数字型变量的显示格式MATLAB命令行使用MATLAB进行数字运算使用MATLAB计算数学表达式MATLAB内置的数学函数使用MATLAB进行矩阵运算定义矩阵向终端输入矩阵使用冒号运算符创建向量定义特殊矩阵矩阵的索引矩阵的操作操作…

大家好,又见面了,我是你们的朋友全栈君。

,

MATLAB01:基本的数学运算与矩阵运算

MATLAB基本语法变量变量名保留变量不适合做变量名变量不应当覆盖内置函数变量类型数字型变量的显示格式MATLAB命令行使用MATLAB进行数字运算使用MATLAB计算数学表达式MATLAB内置的数学函数使用MATLAB进行矩阵运算定义矩阵向终端输入矩阵使用冒号运算符创建向量定义特殊矩阵矩阵的索引矩阵的操作操作矩阵的运算符操作矩阵的函数

MATLAB基本语法

变量

  • MATLAB中的变量不需要声明.

  • 使用=为变量赋值

变量名

  • 与大多数编程语言相同,MATLAB中的变量名是大小写敏感的.

  • 变量名只能由[0~9,a~z,A~z,_]组成,且变量名不能以数字开头.

保留变量不适合做变量名

MATLAB中有一些变量有其具体意义,不适合用作变量名.

5928689c504da254463e47ed5a3b6233.png

除此以外,使用iskeyword可以查看MATLAB语言所有的关键字,这些关键字也不允许被用作变量名.

变量不应当覆盖内置函数

在MATLAB中,变量的调用优先级(calling priority)高于函数,因此变量名不应该覆盖内置函数.

465c9716952c13690af4e1ca34ff5dc2.png
MATLAB的调用优先级
cos='This string.';
cos(8)        % 对字符串进行索引取值,得到'r'

若某函数被变量名所覆盖,则调用clear 可以取消绑定在该函数名上的变量名

clear cos    % 清除绑定在cos上的变量
cos(8)        % 调用内置余弦函数运算得到-0.1455

clear是一个比较危险的命令,因为该命令后若不加参数,则表示清除当前工作区内的所有变量.

变量类型

MATLAB中的变量类型有: logical,char,numeric,cell,struct以及由他们组成的数组或矩阵.

a17867a817543596b3f5118c5b5cf899.png
MATLAB中的变量类型

数字型变量的显示格式

我们直接定义的数字型变量,默认是以double形式存储的.

我们可以通过format 改变数字型变量的显示格式.

256f889bdacfa2defbee9ae435f57370.png

MATLAB命令行

  1. 使用行尾;抑制输出: 在一行命令后使用;抑制输出,否则运算结果将被显示在终端上.

  2. 其他实用的命令:

    7a24cbce371ce073d68bfa259b1c5dd6.png

使用MATLAB进行数字运算

使用MATLAB计算数学表达式

  • MATLAB常见运算符有: +,-,*,/,^.

  • 数学表达式被计算后,其值被存入变量ans.

  • 运算的优先级规则:

    • 同等优先级下从左向右运算.

    • 优先级顺序(从高到低)

  1. 括号`()`

  2. 乘方`^`

  3. 乘除法`*`,`/`

  4. 加减法`+`,`-`

下面例子演示了数学表达式求值:

a8eb8e7d04f5d0a1c8a86ea3e3f837da.png

MATLAB内置的数学函数

  • MATLAB内置的算数运算函数

    • 加: `+`,`sum`,`cumsum`,`movsum`

    • 减: `-`,`diff`

    • 乘: `.`,``,`prod`,`cumprod`

    • 除: `./`,`.`,`/`,“

    • 乘方: `.^`,`^`

    • 基本运算:

    • 取模运算: `mod`,`rem`,`idivide`,`ceil`,`fix`,`floor`,`round`

  • MATLAB内置的三角运算函数

    • 正弦: `sin`,`sind`,`sinpi`,`asin`,`asind`,`sinh`,`asinh`

    • 余弦: `cos`,`cosd`,`cospi`,`acos`,`acosd`,`cosh`,`acosh`

    • 正切: `tan`,`tand`,`atan`,`atand`,`atan2`,`atan2d`,`tanh`,`atanh`

    • 余割: `csc`,`cscd`,`acsc`,`acscd`,`csch`,`acsch`

    • 正割: `sec`,`secd`,`asec`,`asecd`,`sech`,`asech`

    • 余切: `cot`,`cotd`,`acot`,`acotd`,`coth`,`acoth`

    • 斜边: `hypot`

    • 转换: `deg2rad`,`rad2deg`,`cart2pol`,`cart2sph`,`pol2cart`,`sph2cart`

  • MATLAB内置的指数对数函数: exp,expm1,log,log10,log1p,log2,nextpow2,nthroot,pow2,reallog,realpow,realsqrt,sqrt

  • MATLAB内置的复函数: abs,angle,complex,conj,cplxpair,i,imag,isreal,j,real,sign,unwrap

使用MATLAB进行矩阵运算

定义矩阵

向终端输入矩阵

在MATLAB中,使用[]将待输入的矩阵内容括起来,使用空格或逗号,分隔行内变量,使用;分隔每一行.

下面例子演示了矩阵的定义:

2ea0b230b00ada37e410dd155abda1c4.png

使用冒号运算符创建向量

使用冒号运算符:可以创建一个长向量,其语法如下:

561fd2eac766c83ffff067e22f31b29d.png

下面例子演示了冒号运算符的使用:

d1ef5eaf0087b140364b537e12c6e95c.png

定义特殊矩阵

下面命令可以定义特殊矩阵

55e282ccf123f62bec69f92134dc3579.png

矩阵的索引

  • MATLAB中的矩阵是以列先序存储的.且索引下标从1开始.

  • 矩阵有两种索引方式: 按一维索引和按二维索引.对于一个一般的矩阵,其索引顺序如下:33cd7431efc5f26c990b6037a335a0da.png

  • 矩阵的索引可以使用冒号:,表示选取所有行或所有列.

  • 矩阵的索引可以是一个或两个向量,表示选中向量内的所有行或所有列.

下面例子演示了矩阵索引的规则:

0fd7882de2c5d07b1bffabfe1e7b1db9.png

矩阵的操作

操作矩阵的运算符

dbb4c7da8a48aaacbe0f496c71a0d303.png

操作矩阵的函数

下面对矩阵ab9e581e107fe77a40f9583f2d41249e.png
进行操作以演示操作矩阵的常见函数

对于上面这些函数,除第一个参数以外,其它参数都是可选的.

fd0bc00107b076875e587268019d4cfa.png

,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125719.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c# mysql executenonquery_C#-在ExecuteNonQuery上获取受影响的行「建议收藏」

    c# mysql executenonquery_C#-在ExecuteNonQuery上获取受影响的行「建议收藏」如果您运行大量ExecuteNonQuery()并一次提交所有这些,则可以通过读取“SELECTtotal_changes();”的返回值来获得连接后的总更改数。获得总更改的函数:publicstaticlongGetTotalChanges(SQLiteConnectionm_dbConnection){stringsql=”SELECTtotal_changes();”;u…

    2022年9月4日
    3
  • Coredump(tracedump)

    引言当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做CoreDump或者叫做‘核心转储’,利用coredump可以帮助我们快速定位程序崩溃位置开启coredump终端输入命令:ulimit-a用来显示对进程的一些限制限制,其中第一行表示了core文件最大的大小限制(单位为blocks)默认是…

    2022年4月12日
    90
  • SpringCloud与Dubbo区别[通俗易懂]

    SpringCloud与Dubbo区别[通俗易懂]SpringCloud和Dubbo都是当下流行的RPC框架,各自都集成了服务发现和治理组件。SpringCloud用Eureka,Dubbo用Zookeeper,这篇博客就将将这两个组件在各自系统中的作用机制的区别。1.注册的服务的区别Dubbo是基于java接口及Hession2序列化的来实现传输的,Provider对外暴露接口,Consumer根据接口的规则调用。也就是Provider向Zookeeper注册的是接口信息,Consumer从Zookeeper发现的是接口的信息,通过接口的name

    2022年5月25日
    42
  • Linux零拷贝_Linux开发教程

    Linux零拷贝_Linux开发教程引言传统的Linux操作系统的标准I/O接口是基于数据拷贝操作的,即I/O操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘I/O的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘I/O操作。但是数据传输过程中的数据拷贝操作却导致了极大的CPU开销,限

    2022年9月15日
    0
  • 第五章:多线程通信—wait和notify

    第五章:多线程通信—wait和notify第五章:多线程通信—wait和notify

    2022年4月23日
    45
  • idea设置背景颜色为黑色(eclipse背景颜色设置黑色)

    黑夜给了我黑色的眼睛我却用它来寻找光明。既然是黑色的眼睛那就设置一波黑色背景吧。在黑色额背景中寻找光明。设置步骤:File->Settings->Appearance&Behavior->Appearance就是如此的简单迅速,黑色诱惑一波。就很nice!!!…

    2022年4月13日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号