MATLAB中数组的运算和操作学习笔记

2023-11-08

1、数组的代数运算

1.1、数组与标量的运算

数组的+、-、*、/、乘方运算

>> A=[1,2,3;4,5,6]

A =

       1              2              3       
       4              5              6       

>> A-2

ans =

      -1              0              1       
       2              3              4       

>> A*2

ans =

       2              4              6       
       8             10             12       

>> A/2

ans =

       1/2            1              3/2     
       2              5/2            3       

>> A^2
错误使用  ^ 
输入必须为标量和方阵。
要按元素进行 POWER 计算,请改用 POWER (.^)>> B=[1,2;3,4]

B =

       1              2       
       3              4       

>> B^2

ans =

       7             10       
      15             22       

>> B^(-1)

ans =

      -2              1       
       3/2           -1/2     

>> B^(0.2)

ans =

     901/1073   + 2555/6959i      614/2397   -  679/4043i 
     307/799    -  230/913i       716/585    +  264/2291i 

1.2、转置运算

数组A的转置用A’表示

>> A=[1,2,3;4,5,6]

A =

       1              2              3       
       4              5              6    
       >> A'

ans =

       1              4       
       2              5       
       3              6          

1.3、数组的加减运算

当数组的维数完全相等的时候,可以进行加减运算

>> A=[1,2,3;4,5,6;7,8,9];
>> B=[1,2,3];
>> C=[4,5,6];
>> A+B
错误使用  + 
矩阵维度必须一致。
 
>> B+C

ans =

       5              7              9       

1.4、数组的乘法运算

两个数组的行数等于列数才可进行乘法运算

>> A=[1,2,3];
>> B=[4;5;6];
>> A*B

ans =

      32       

1.5、数组的除法运算

除法运算包括左除“\”和右除“/”两种运算
左除:A\B表示A^(-1)B,A为方阵
右除:A/B表示A
B^(-1),B为方阵

>> A=[1,2;3,4];B=[1,3,5;2,4,6];C=[1,1,3;2,4,6;7,8,9];
>> A\B

ans =

       0             -2             -4       
       1/2            5/2            9/2     

>> B/C

ans =

       0             13/12          -1/6     
       0              1              0       

1.6、数组的点运算

数组的点运算是两个数组之间的对应元素直接运算,这样就要求这两个数组的维数完全相同。

>> A=[1,2,3;4,5,6];B=[7,8,9;5,6,4];
>> C=A.*B

C =

       7             16             27       
      20             30             24       

>> D=A*B
>> D=A.+B
 D=A.+B
     ↑
错误:  MATLAB 运算符异常。%加法不可用
 
>> A.-B
 A.-B
   ↑
错误:  MATLAB 运算符异常。%减法不可用
 
>> A./B%除法可以用

ans =

       1/7            1/4            1/3     
       4/5            5/6            3/2     

>> A.\B

ans =

       7              4              3       
       5/4            6/5            2/3     

1.7、数组求幂运算

数组求幂运算包括数组与常数和数组与数组的幂运算,用点运算的形式表示。

>> A=[1,2;3,4];B=[2,2;1,2];
>> A1=A.^3,A2=3.^A,A3=A.^B%运算规律如下

A1 =

       1              8       
      27             64       


A2 =

       3              9       
      27             81       


A3 =

       1              4       
       3             16       

2、数组的块操作

可以对数组进行元素更改、插入子块、提取子块、重排子块、扩充子块等操作。

>> A=[1,2;3,4];B=[2,2;1,2];
>> A1=A.^3,A2=3.^A,A3=A.^B

A1 =

       1              8       
      27             64       


A2 =

       3              9       
      27             81       


A3 =

       1              4       
       3             16       

>> clear
>> A=[1,2,3;4,5,6];B=[7,8,9];
>> A(1,:)=B%将A阵的第一行用B数组替换

A =

       7              8              9       
       4              5              6       

>> A(:,:)=2%将A阵所有元素设置成2

A =

       2              2              2       
       2              2              2       

>> A(2,2)=15%将A阵的第二行第二列的元素设置成12

A =

       2              2              2       
       2             15              2       


 
>> A(4,5)=20%定义A阵的第4行第5列元素,MATLAB自动扩充A矩阵

A =

       2              2              2              0              0       
       2             15              2              0              0       
       0              0              0              0              0       
       0              0              0              0             20       

>> C=A(1:3,2:3)%提取A阵的第一行到第三行中第2、3列的所有元素

C =

       2              2       
      15              2       
       0              0       

3、数组的翻转操作

MATLAB提供了几种指令可以进行数组的翻转操作

>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]

A =

       1              2              3              4       
       5              6              7              8       
       9             10             11             12       
      13             14             15             16       

>> B=flipud(A)%上下翻转

B =

      13             14             15             16       
       9             10             11             12       
       5              6              7              8       
       1              2              3              4       

>> C=fliplr(A)%左右翻转

C =

       4              3              2              1       
       8              7              6              5       
      12             11             10              9       
      16             15             14             13       


>> rot90(A)%逆时针旋转90°

ans =

       4              8             12             16       
       3              7             11             15       
       2              6             10             14       
       1              5              9             13       

4、数组运算的常用数学函数

MATLAB中又许多不同类型的函数如下表
请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB中数组的运算和操作学习笔记 的相关文章

  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • 如何在向量中的所有点之间绘制线?

    我有一个包含二维空间中一些点的向量 我希望 MATLAB 用从每个点到每个其他点绘制的线来绘制这些点 基本上 我想要一个所有顶点都连接的图 你能用情节来做到这一点吗 如果可以 怎么做 一种解决方案是使用该函数为每个点组合创建一组索引MESH
  • 在 matlab 代码中使用 dll 文件

    我需要使用 Matlab 中由 dll 文件定义的函数 我有一个例子 那个家伙将 dll 转换为 mexw32 文件 但我知道我是如何做到这一点的 我尝试使用加载库但它没有创建任何文件 我怎样才能做到这一点 loadlibrary http
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • 如何正确从表中删除 NaN 值

    在 Matlab 中阅读 Excel 电子表格后 不幸的是 我的结果表中包含了 NaN 例如这个 Excel 表格 将产生此表 其中出现额外的 NaN 列 我尝试使用以下代码片段删除 NaN measurementCells readtab
  • Ilnumerics Ilpanel 在 winform 中编译成 dll 并加载到 matlab 时不激活

    我想将 Visual studio 2012 中用 C 编写的 winform 编译为 dll 然后将其加载到 matlab 2013a 中 然后 我想使用 matlab net 接口与 winform 进行交互 侦听其事件并通过一组预定义
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he
  • Deploytool for MATLAB R2013b 不起作用,发生了什么变化?

    多年来我一直在使用集成deploytool为我的同事创建易于分发的 exe 文件 我几天前安装了R2013b 但无法使用deploytool不再了 尝试打包时的日志文件给出了以下内容 ant
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • Mathworks 生成 Matlab HTML 文档的方法是什么?

    我正在开发共享的 Matlab 代码 我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享 我知道以下生成文档的方法 编写一个类似于 C 文件的转换器 这是在中完成的将 Doxygen 与 Matlab 结合使用 http ww
  • 像matlab一样在python中连接数组而不知道输出数组的大小

    我正在尝试在 python 中连接数组 类似于 matlab array1 zeros 3 500 array2 ones 3 700 array array1 array2 我在 python 中做了以下操作 array1 np zero
  • 在矩阵中找到叉的最快方法

    定义 A i j 1 是十字的中点 如果元素A i 1 j 1A i 1 j 1A i j 1 1A i j 1 1 这些元素和中点一起形成矩阵 A 中的十字 其中 A 至少是一个 3 3 矩阵 并且i j 0 假设上图是 8 8 矩阵 A
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • Matlab strcat 不返回字符串?

    imgstr 无法识别 strcat 的输出字符串 homedir C Users images for img 01 bmp 02 bmp 03 bmp imgstr strcat homedir img I imread imgstr

随机推荐

  • 【可视化开发】echarts点击事件

    echarts提供了点击事件方法 首先需要确定点击的范围 以横向柱状图为例 若不设置属性 添加点击事件后默认为柱型 设置可点击属性 需添加以下配置 yAxis 其余属性 silent false 坐标轴是否是静态无法交互 triggerEv
  • linux 中 安装 redis

    cd usr mkdir redis cd redis wget http download redis io releases redis 3 2 4 tar gz tar xzf redis 3 2 4 tar gz cd redis
  • PyTorch 矩阵乘法的方法总结 & 问题解答

    在机器学习和深度学习中时 矩阵运算是最常见 有效提高计算效率的方法 因为特征和权重都以向量储存 矩阵运算就显得尤为重要 诸如梯度下降 反向传播 矩阵因子分解等重要的机器学习方法 都需要基于矩阵运算 在深度学习中 神经网络将权重储存在矩阵当中
  • Java连接MySQL

    目录 1 JDBC简介 2 使用 JDBC 连接数据库 2 1 使用流程 3 详细操作 3 1 导入 jar 包 4 通过 java 语言操作数据库 4 1 连接 Mysql 数据库 4 2 增 删 改 查操作 5 部分问题 5 1 数据库
  • Spring-Data-JDBC 自定义枚举类型 转换遇到的bug (搞了半天,在 insuess中看到)

    解决思路 bug描述 issuse地址 解决方法
  • qt中如何模拟按钮点击_qt模拟键盘的三种实现方式(思路+demo)

    按照我自己的理解 qt模拟键盘分三个层次的模拟 1 单线程的模拟 2 qt框架内的模拟 可以跨线程的 3 在操作系统的图形界面内模拟 相当于模拟了一个输入法 第一种 一般就是添加多个按键 QToolButton QPushButton都可以
  • RTThread:静态线程&动态线程

    一 静态线程创建 rt thread init rt err t rt thread init struct rt thread thread const char name void void parameter entry void p
  • ❀资源帖❀ResNet,ConvNeXt,Transformer预训练模型等

    1 说在前面 部分输入网页直接开始下载 一些是自己训练后的模型 2 resnet权重文件下载地址 2 1resnet18 https download pytorch org models resnet18 5c106cde pth 2 2
  • 关于OPC UA TSN中TSN

    近日 TTTech和英特尔联合发表了一份白皮书 为寻求在工业自动化系统中实现TSN网络技术的客户提供指导 白皮书概述了所有的TSN标准 优点和特点 并描述了TTTech和英特尔今天可用的产品如何可用于开发优化的TSN设备和系统 TSN将重塑
  • 巧用WINRAR和DOS命令处理压缩数据

    开展计算机审计 首先要取得被审计单位的电子数据 然后将数据标准化 即将被审计单位提供的数据转换成便于审计人员使用的 SQL Server 或其他数据库格式的数据 因此 计算机审计首先要解决的是数据标准化问题 许多商业银行采取按天备份的策略
  • 记一次Tomcat日志分析:一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    1 问题 我将一个应用 MicroStrategy 11 3 0000 13515 部署到Tomcat 然后 我点击start后报错 FAIL Application at context path MicroStrategy 11 3 0
  • 网络图库Cytoscape.js的使用(二):图表常用操作

    文章目录 图形实例与集合 选择器 常用函数 获取指定元素 集合 视口常用操作 数据 全局常用方法 元素常用数据 操作方法 修改元素样式常用方法 迭代 构建 过滤常用方法 图形实例与集合 为了使用Cytoscape js 架构中有两个部分是程
  • Git安装教程

    文章目录 Git安装教程 一 Git安装与下载 二 Git 的功能介绍 三 测试Git是否安装成功 Git安装教程 一 Git安装与下载 浏览器搜索Git官方下载或https git scm com downloads 官网可能下载慢 阿里
  • Spring Cloud是什么?

    Spring Cloud 是一款基于 Spring Boot 实现的微服务框架 Spring Cloud 源自 Spring 社区 主要由 Pivotal 和 Netflix 两大公司提供技术迭代和维护 随着微服务的火爆流行 国内外各大互联
  • nacos-一致性协议(1)

    Nacos支持CP AP模式 即Nacos可以根据配置识别为CP模式或AP模式 默认是AP模式 如果注册Nacos的client节点注册时ephemeral true 那么Nacos集群对这个client节点的效果就是AP 采用distro
  • curl,libssh2,openssl,zlib的编译

    前年 客户要求ATM客户端程序添加sftp功能 领导发给我4个静态库 分别是libcurl lib libeay32 lib ssleay32 lib libssh2 lib 使用这4个库成功实现了sftp功能 当时从网络上查到该四个静态库
  • 层序遍历与BFS广度(宽度)遍历搜索算法(C++)

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 8 COPYRIGHT 原创技术
  • 训练集和测试集 — 模型评估

    模型评估 训练集和测试集 训练集就是训练模型的样本 测试集就是在我们训练好一个模型后 需要去评价这个模型的好坏 最直接的方法就是拿着这个模型去做实际的判断 例如 垃圾邮件过滤 就看看能否把垃圾邮件都筛选出来 如果没有识别出垃圾邮件 或者把正
  • 我和ChatGPT聊了聊个人知识管理

    话说 昨天我终于申请了一个ChatGPT的账号 完之后 就玩儿嗨了嘛 问东问西地 简直停不下来 不过除了闲聊之外 还是想借助ChatGPT的帮忙完成一些具体的任务 于是我就和它聊了聊个人知识管理 文章比较长 主要包括这样一些内容 什么是个人
  • MATLAB中数组的运算和操作学习笔记

    1 数组的代数运算 1 1 数组与标量的运算 数组的 乘方运算 gt gt A 1 2 3 4 5 6 A 1 2 3 4 5 6 gt gt A 2 ans 1 0 1 2 3 4 gt gt A 2 ans 2 4