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


相关推荐

  • 什么是虚拟机?什么是Java虚拟机?

    什么是虚拟机?什么是Java虚拟机?什么是虚拟机?什么是Java虚拟机?虚拟机介绍虚拟机,就是虚拟的计算机,可以执行一系列虚拟计算机指令,大体上可以分为系统虚拟机和程序虚拟机。它们运行时,都会受到虚拟机提供的资源的限制。系统虚拟机:仿真模拟系统的,比如VisualBox,VMware。程序虚拟机:为执行单个计算机程序设计的,比如Java虚拟机。JAVA虚拟机Java虚拟机是一台执行字节码的虚拟机计算机,但是字节码不一定是由Java语言编译而成。只要使用这一套虚拟机规则的语言,就可以享受到跨平台,垃圾收集以及可靠的即时编译器

    2022年7月8日
    20
  • Spring的两种动态代理Jdk与Cglib

    Spring的两种动态代理Jdk与CglibSpring的两种动态代理Jdk与Cglib

    2022年4月23日
    38
  • 《chkconfig命令》-linux命令五分钟系列之四

    《chkconfig命令》-linux命令五分钟系列之四

    2021年9月8日
    60
  • javascript 数组排序(三种方法)

    javascript 数组排序(三种方法)一、用sort()方法进行数组排序vararr1=[20,80,54,78,8,67,27]; functionmy(a,b){ returna-b; } console.log(arr1.sort(my));//8,20,27,54,67,78,80二、冒泡排序vararr1=[20,80,54,78,8,67,27]; functionmys(arr1){ for(vari=0;i<arr1.length-1;

    2022年6月11日
    30
  • 2021.5clion激活码[在线序列号]

    2021.5clion激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    49
  • 解决新版chrome跨域问题:cookie丢失以及samesite属性问题「建议收藏」

    解决新版chrome跨域问题:cookie丢失以及samesite属性问题「建议收藏」最近在使用前后端分离开发的时候,遇到了一个诡异的问题,无论如何设置跨域,同一个页面获取到的session始终不一致。发现问题:登录界面前后端分离,ajax提交登录时出错验证码接口和登录接口的session不一致(跨域问题)在网上搜索跨域问题,重新设置,问题依旧错因排除:ajax允许cookie(已经设置xhrFields:{withCredentials:true})springboot尝试设置了多种跨域方法(springboot解决跨域)深入分析:使用其它浏览器(fi

    2022年6月9日
    235

发表回复

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

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