当前位置: 首页 > java >正文

MATLAB中矩阵和数组的区别

文章目录

  • 前言
  • 环境配置
  • 1. 数据结构本质
  • 2. 运算规则
    • (1)基本运算
    • (2)特殊运算
  • 3. 函数与操作
  • 4. 高维支持
  • 5. 创建方式


前言

在 MATLAB 中,矩阵(Matrix) 和 数组(Array) 的概念既有联系又有区别,主要体现在以下几个方面。


环境配置

MATLAB下载安装教程:https://blog.csdn.net/2501_91538706/article/details/147232213

1. 数据结构本质

  • 矩阵(Matrix)
    是二维的数组,即行数和列数明确的二维结构。
    严格遵循线性代数的规则,例如矩阵乘法要求左矩阵的列数等于右矩阵的行数。
  • 数组(Array)
    是更通用的数据结构,可以是任意维度(一维、二维、三维…)。
    二维数组可以看作矩阵的扩展,而高维数组(如三维数组)则无法用矩阵直接表示。

2. 运算规则

(1)基本运算

  • 矩阵运算:遵循线性代数规则,使用标准运算符(如 *、/、^)。

A = [1 2; 3 4];
B = [5 6; 7 8];
C = A * B; % 矩阵乘法:[19 22; 43 50]

  • 数组运算:按元素执行操作,使用点运算符(如 .*、./、.^)。

A = [1 2; 3 4];
B = [5 6; 7 8];
C = A .* B; % 元素-wise乘法:[5 12; 21 32]

(2)特殊运算

  • 矩阵转置:使用单引号 '。

A = [1 2; 3 4];
A’ % 结果:[1 3; 2 4]

  • 数组转置:对于复数数组,需用 .‘’ 避免共轭。

A = [1+1i, 2+2i];
A.’ % 非共轭转置:[1+1i; 2+2i]

3. 函数与操作

  • 矩阵专用函数:
    inv(A):矩阵求逆
    det(A):行列式计算
    eig(A):特征值与特征向量
  • 数组通用函数:
    size(A):返回各维度大小(如 [2 3] 表示 2 行 3 列)
    reshape(A, m, n):重构数组维度
    cat(dim, A, B):沿指定维度拼接

4. 高维支持

  • 矩阵:仅支持二维(行 × 列)。
  • 数组:支持任意维度(如三维数组 A(2,3,4) 表示 2×3×4 的立方体结构)。
    示例:创建三维数组

A = rand(2, 3, 4); % 创建2×3×4的随机数组

5. 创建方式

  • 矩阵创建:

A = [1 2; 3 4]; % 直接创建二维矩阵

  • 数组创建:

A = [1 2 3]; % 一维数组(行向量)
B = rand(2,3,4); % 三维数组

MATLAB中矩阵和数组的区别

  • 优先使用数组:MATLAB 中数组是更通用的数据结构,支持向量化运算,代码更简洁高效。
  • 仅在必要时用矩阵:当明确需要线性代数运算(如矩阵求逆、特征值计算)时使用矩阵。
http://www.xdnf.cn/news/5365.html

相关文章:

  • Python-Venv多环境管理
  • JavaEE--文件操作和IO
  • cookie和session的区别
  • Qt开发经验 --- 避坑指南(14)
  • 【Linux篇】高并发编程终极指南:线程池优化、单例模式陷阱与死锁避坑实战
  • SpringBoot主入口类分析
  • 虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
  • 【QT】UDP通讯本地调试
  • Pandas 时间处理利器:to_datetime() 与 Timestamp() 深度解析
  • 趣味编程:四叶草
  • Python赋能自动驾驶:如何打造高效的环境感知系统
  • 嵌入式硬件篇---TOF|PID
  • 微软向现实低头:悄悄延长Windows 10的Microsoft 365支持
  • 每日c/c++题 备战蓝桥杯(P1002 [NOIP 2002 普及组] 过河卒)
  • 数据仓库Hive
  • 【即插即用涨点模块】RFAConv感受野注意力卷积:突破卷积参数共享瓶颈,感受野注意力重塑空间特征提取【附源码】
  • 深度剖析多模态大模型中的视频编码器算法
  • 高级数据结构:线段树
  • 《Redis应用实例》学习笔记,第一章:缓存文本数据
  • HVV蓝队初级面试总结
  • 【动态规划】斐波那契数列模型
  • Go语言从零构建SQL数据库(9)-数据库优化器的双剑客
  • Gin 框架入门
  • Java学习笔记(对象)
  • 游戏引擎学习第272天:显式移动转换
  • app加固
  • Vue.js 页面切换空白与刷新 404 问题深度解析
  • 《智能网联汽车 自动驾驶功能道路试验方法及要求》 GB/T 44719-2024——解读
  • 视频编解码学习三之显示器续
  • 鸿蒙跨平台开发教程之Uniapp布局基础