在程序设计语言中,一般包含算数运算、关系运算、逻辑运算,而MATLAB的运算都是针对矩阵而言的,既有矩阵意义下的运算,也有针对矩阵元素的运算。

一、算数运算

1、分类

基本算术运算
点运算

2、基本算术运算

  • 基本算术运算符:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)。
  • MATLAB的除法运算分为右除和左除。
  • MATLAB的算术运算是在矩阵意义下进行的。
  • 单个数据的算术运算只是矩阵运算的一种特例。

(1)加减运算

  • 若两矩阵同型,则运算时两矩阵的相应元素相加减。
  • 若两矩阵不同型,则MATLAB将给出错误信息。
  • 一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的每一个元素进行加减运算。

(2)乘法运算

  • 矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。
  • 如果两者的维数或大小不相容,则将给出错误信息,提示用户两个矩阵是不可乘的。

(3)除法运算

  • 在MATLAB中,有两种矩阵除法运算:右除/和左除\。
  • 如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A\B等效于inv(A)*B。
  • 对于矩阵来说,右除和左除表示两种不疼痛的除数矩阵和被除数矩阵的关系。



(4)乘方运算
一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。


(5)点运算

  • 点运算符:.*、./、.\和.^。
  • 两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。


C=A.B表示两个矩阵对应元素做乘法运算
D=A
B表示矩阵意义下的乘法运算

当x=0.1、0.4、0.7、1时,分别求y=sin x cos x的值。

因为x是一个向量,sin(x)和cos(x)是和x同长度向量,所以用点乘运算。

二、关系运算

  • 关系运算符通常用来表示条件
  • 关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。
  • 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。
  • 当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,最终的关系运算的结果是一个与原矩阵同型的矩阵,它的元素由0或1组成。
  • 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,最终的关系运算的结果是一个与原矩阵同型的矩阵,它的元素由0或1组成。
    例子:
    建立3阶方阵A,判断A的元素是否为偶数。

    P=rem(A,2)==0
    rem(A,2)表示矩阵A的每个元素除以2的余数矩阵
    rem(A,2)==0表示余数矩阵与0进行等于比较运算,0倍扩展为与A同型的零矩阵
    P表示等于比较的结果矩阵
    最后结果矩阵P中元素为1的位置,就是A矩阵中偶数的位置

三、逻辑运算

逻辑运算符:&(与)、|(或)和~(非)。
(1)设参与逻辑运算的是两个标量a和b,那么运算规则为:

  • a&b
    a、b全为非零时,运算结果为1,否则为0。
  • a|b
    a、b中只要有一个为非零时,运算结果为1 。
  • ~a
    当a为零时,运算结果为1;当a为非零时,运算结果为0。


3<4 & 6>5
因为3小于4是1,6大于5是1,两者作逻辑与运算后,结果是1。

~(9 == 1)
因为9==1的结果是0,对它做逻辑非运算后,结果为1.

~9==1
在算术运算、关系运算和逻辑运算中,算术运算的优先级最高,逻辑运算优先级最低。但逻辑非运算是单目运算,也就是只需要一个操作数,它的优先级比双目运算要高。
所以先做非9运算,非9运算的结果是0,0 ==1这个表达式的结果为0。

(2) 若参与逻辑运算的是两个同型矩阵,那么将对矩阵相同位置上的元素按标量规则逐个进行运算,最终运算结果是一个与原矩阵同型的矩阵,其元素由1或0组成。
(3)若参与逻辑运算的一个是标量,一个是矩阵,那么将在标量与矩阵中的每个元素之间按标量规则逐个进行运算,最终运算结果是一个与矩阵同型的矩阵,其元素由1或0组成。

例子:
水仙花数是指各位数字的立方之和等于该数本身的三位正整数。
求全部水仙花数。

>> m=100:999;%生成m向量
>> m1=rem(m,10);
>> m2=rem(fix(m/10),10);
>> m3=fix(m/100);
>>k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3)%在向量m中找打水仙花数的需要赋给变量k
k =
54 271 272 308
%水仙花数的序号
>> s=m(k)
s =
153 370 371 407
%输出水仙花数

【MATLAB】MATLAB基本运算相关推荐

  1. matlab基本运算实验报告,实验2 Matlab的基本运算实验报告

    Tutorial2 实验报告 一.实验名称:Matlab 的基本运算 二.实验目的: 1. 掌握建立字符串向量的方法: 2. 掌握字符串的基本操作: 3. 掌握Matlab 的算术运算.关系运算和逻辑 ...

  2. matlab 样本均值,Matlab | Matlab从入门到放弃(4)——样本均值

    Matlab | Matlab从入门到放弃(4)--样本均值 Matlab | Matlab从入门到放弃(4)--样本均值 博主github:https://github.com/MichaelBee ...

  3. matlab 如何捕捉错误,【matlab|matlab运行错误捕捉方法】

    『傻大方知识库摘要_matlab|matlab运行错误捕捉方法』需安装VC2005运行库.Matlab错误提示往往以DOS窗口显示,错误提示经常一闪而过,无法查看具体错误信息,可以按照如下操作进行查看 ...

  4. wav数据提取 matlab,matlab 读取处理 wav 文件

    最近工作需要,要对wav文件中存储的声音信息进行分析处理.所以花了些时间收集了各种数学软件中处理wav文件的方法. Matlab Matlab 是最方便的.甚至于不用写任何代码就能读取wav文件(我用 ...

  5. [matlab]matlab cftool点了没反应

    [matlab]matlab cftool点了没反应 命名重复 首先排除是不是在同目录文件下新建了一个cftool.m文件,如果是的话将其改名,自定义为其他名字. 这就和写代码时同名变量覆盖一样,ma ...

  6. [C#] 调用MATLAB(Matlab COM接口) (一)调用函数

    目录 说明 一.Visual Studio 程序 1. Vs 新建项目 2. 编写 C# 程序 二.matlab.Execute() 1. MATLAB函数的输入输出 2. MATLAB Comman ...

  7. saber与matlab,MATLAB与SABER联合仿真(Co-sim)遇到的问题

    问题描述: 系统环境:WinXP SP3 简体中文 软件版本:Saber2008, Matlab R2008a. 仿真程序:throttle_controller, 对照软件给出的Tutorial执行 ...

  8. matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门

    1.1数学建模与MATLAB–MATLAB入门 关注本专栏,继续分享数学建模与MATLAB知识 一.MATLAB是什么? MATLAB 是目前在国际上被广泛接受和使用的科学与工程计算软件.虽然 Cle ...

  9. Matlab p文件 转换为m文件MATLAB matlab pcode,matlab p

    Matlab p文件 转换为m文件MATLAB matlab pcode,matlab p matlab p文件解密,matlab m文件 解码后的m源码文件内容可查看可编辑 YID:85467902 ...

  10. 牛顿法的matlab实现例题,【MATLAB|MATLAB牛顿插值法例题与程序Word版】

    『易坊知识库摘要_MATLAB|MATLAB牛顿插值法例题与程序Word版』x12345678y22.523.324.421.7025.228.524.825.4二.数学原理假设有n+1个不同的节点及 ...

最新文章

  1. oracle 被另一个用户锁定
  2. Dubbo服务发布调用
  3. 如何让Visual Studio 2010支持HTML5和CSS3
  4. 我的博客今天6岁298天了,我领取了元老博主徽章
  5. html调用媒体图标,关于CSS 媒体查询(media queries)
  6. 外媒:字节跳动是谷歌云存储第二大客户 但所存数据远不及苹果
  7. 如何系统地自学前端(女生),女生发展前端是否是青春饭?
  8. 我是如何一步步拿下 Google Offer 的?
  9. 什么是我想要守护的东西?
  10. fastdfs+nginx make时报错fatal error:fdfs_define.h: 没有那个文件或目录
  11. 【Spring框架学习】:初识Spring框架
  12. MYSQL LEFT JOIN 的怪异行为
  13. Outlook-VBA-05-自动获取邮件附件
  14. 计算机查找保存的文件,电脑保存文件到哪里找
  15. 可视化项目进度管理和生产计划排程
  16. hp1015驱动64位_在win10/win7 64位系统上安装 hp laserjet 1015对应的打印机驱动
  17. esp8266获取网络时间
  18. fiddler抓苹果手机上app包的方法,解决https连接只抓到Tunnel to的问题
  19. div增加鼠标点透,css设置点击穿透
  20. xcode7 如何真机测试

热门文章

  1. 十四步实现强大的五子棋AI
  2. Oracle的函数大全
  3. [Matlab科学计算] 粒子群优化算法原理和简单应用
  4. 【算法精解】计数排序
  5. Web开发牛人访谈:你们都在用什么?
  6. DBeaver - 一款免费开源的通用数据库工具
  7. 使用Jackson进行json转对象,对象转json总结
  8. 《一天搞懂深度学习》--李宏毅
  9. SWAT模型学习(一)
  10. 自学笔记-使用MyBatis建立数据库基本连接