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)
上一篇 2022年4月6日 上午8:40
下一篇 2022年4月6日 上午8:40


相关推荐

  • shell批量新建文件

    shell批量新建文件shell批量新建文件,文件名依次为a1,a2……a100#!/bin/bashPath=/home/yifan/maying/shell/case2[-d$Path]||mkdir$Pathint=1while(($int<=100))dofilename="a"$int""touch$Path/$filenamelet"int++"do…

    2022年6月22日
    68
  • 操作系统中的堆栈区别

    操作系统中的堆栈区别堆和栈是两种内存分配的统称 一 栈栈会存放函数的局部变量 函数的返回地址等 栈有 LIFO 后进先出 的特点 栈由操作系统分配 自动回收 栈的大小受到限制 在 x86 体系下 栈一般通过 esp 指向栈帧顶部 ebp 指向底部不断的嵌套或者为局部变量分配空间 可能导致栈溢出 这时候会触发一个异常在执行完一个函数的时候 其中的变量都会从堆栈中弹出 无需亲自管理内存 变量会自动分配和释放

    2026年3月17日
    2
  • 2026实战指南:如何用 OpenClaw 彻底打通多平台会议信息孤岛?

    2026实战指南:如何用 OpenClaw 彻底打通多平台会议信息孤岛?

    2026年3月15日
    2
  • 时间序列预测——时序卷积网络(TCN)

    时间序列预测——时序卷积网络(TCN)本文展示了使用时序卷积网络 TCN 进行时间序列预测的全过程 包含详细的注释 整个过程主要包括 数据导入 数据清洗 结构转化 建立 TCN 模型 训练模型 包括动态调整学习率和 earlystoppin 的设置 预测 结果展示 误差评估等完整的时间序列预测流程 本文使用的 tcn 库在本人上传的资源中 链接为 tcn py 本文使用的数据集在本人上传的资源中 链接为 mock kaggle csvimportpan

    2026年3月18日
    1
  • 镁光ssd管理工具 linux,SandForce主控固态硬盘SF-2241 vb2开卡成功经验「建议收藏」

    镁光ssd管理工具 linux,SandForce主控固态硬盘SF-2241 vb2开卡成功经验「建议收藏」一个威刚SP900128G固态硬盘坏了,想用开卡软件来修复,然后就必须知道是什么主控,于是拆开看里面SandForceSF2241VB2的主控芯片,flash看不懂600739095300463844,最后试出来是28044,MT29F128G08CFABBWP20MLCMicron镁光的。然后按量产网的SF2000开卡教程,开卡SandForce主控的ssd需要用到linux系统,于是…

    2022年6月22日
    103
  • centos systemctl_正在不使用中

    centos systemctl_正在不使用中CentOS7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。1、原来的service命令与systemctl命令对比daemon命令systemctl命令说明service[服务]startsystemctlstart[unit…

    2025年12月14日
    4

发表回复

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

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