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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • simHash 简介以及java实现[通俗易懂]

    simHash 简介以及java实现[通俗易懂] 传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始内容在一定概率 下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来 说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签…

    2022年10月1日
    3
  • linux的进程调度指的是系统对进程调用_Linux进程调度实验

    linux的进程调度指的是系统对进程调用_Linux进程调度实验进程状态进程调度就是让进程从一种状态切换到另一种状态。Linux中进程的主要状态如下,值状态缩写含义0TASK_RUNNINGR正在运行或可运行1TASK_INTERRUPTIBLES可中断的休眠2TASK_UNINTERRUPTIBLED不可中断的休眠4__TASK_STOPPEDT停止状态,当进程接收到SIGSTOP等signal信息8__TASK_TRACEDt跟踪状态,进程被debugge…

    2022年9月28日
    2
  • wxPython树控件

    wxPython树控件

    2021年11月22日
    24
  • mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」

    mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」一、distinct位置1.单独的distinct只能放在开头,否则报错,语法错误mysql>SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[SQL]SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[Err]1064-Youhavean…

    2022年10月1日
    1
  • 测试用例模板案例

    测试用例模板案例qq账号:用例编号 所属模块 用例标题 优先级 前置条件 输入数据 操作步骤 预期结果 实际结果 是否通过 测试人员 测试时间 qq_dl_001 登录 账号为六位自然数组成 高 输入账号和密码点击登录 账号:123456密码:abcd12 1:输入账号 2:输入密码 3:点击”登录” 1:账号被填充 2:密码被填充 3:登录成功,跳转主界面 1:账号被填充

    2022年7月17日
    22
  • 普罗米修斯java_springboot集成普罗米修斯

    普罗米修斯java_springboot集成普罗米修斯点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章Prometheus是一套开源的系统监控报警框架。它由工作在SoundCloud的员工创建,并在2015年正式发布的开源项目。2016年,Prometheus正式加入CloudNativeComputingFoundation,非常的受欢迎。简介Prometheus具有以下特点:一个多维数据模型,其中…

    2022年7月19日
    23

发表回复

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

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