MATLAB基础:数组及其数学运算

今天我们继续学习MATLAB中的数组

我们在学习MATLAB时了解到,MATLAB作者秉持着“万物皆可矩阵”的思想企图将数学甚至世间万物使用矩阵表示出来,而矩阵的处理,自然成了这门语言的重中之重。

数组基础

在MATLAB中,数组是一个基本的数据类型,用于存储数值型数据。数组可以是数字的集合,可以是一维的(行向量或列向量),也可以是多维的(如矩阵或更高维的张量)。

向量

  1. 维度:向量是特殊的数组,它只有一维。它可以是一个行向量或列向量。
  2. 大小:向量的维度是 𝑛×1n×1(列向量)或 1×𝑛1×n(行向量),其中 𝑛n 是向量中的元素数量。
  3. 用途:向量通常用于表示数学上的点、方向、或物理量,它们可以进行标量乘法、向量加法和点积等操作。

例如:

v_row = [1, 2, 3];  % 行向量
v_col = [1; 2; 3];  % 列向量

创建数组

  • 使用方括号 [] 来创建数组。
  • 在创建数组时“,”和“【空格】”来分隔相邻的元素,用“;”来分隔相邻的每个列。
  • 使用冒号 : 来创建等差数列。例如:D = 1:5 会创建一个行向量 [1 2 3 4 5]D = 1:2:10会创建起始值为1步长为2,但不超过10的行向量[1 3 5 7 9]
  • 使用 linspace 函数来创建包含指定数量元素的等差数列。例如:E = linspace(0,10, 5)会创建一个从0开始到10结束,包含5个等间隔点的数列[0.0,2.5,5.0,7.5,10.0]。

特殊矩阵的创建(两行三列)

  • 零矩阵
  • Z = zeros(2, 3);
  • 所有元素都是1的矩阵 
  • oneMatrix = ones(2, 3);
  • eye:创建单位矩阵(对角线元素为1,其余为0)
  • I = eye(2, 3);
    
  • rand:创建一个元素在[0,1]区间内均匀分布的随机矩阵
  • R = rand(2, 3);
    
  • randn:创建一个元素为标准正态分布(均值为0,方差为1)的随机矩阵
  • RN = randn(2, 3);
    
  • diag:创建对角矩阵或提取矩阵的对角线元素
  • D = diag([1 2 3]); % 创建对角矩阵
    
  • magic:创建一个魔方矩阵(每行、每列和对角线上的元素和相等)
  • M = magic(3); % 注意:这里需要方阵的尺寸
    

每个函数都有其特定的用途,可以根据需要选择使用。

数组操作

  • 查询:A(m,n)
  • 更改:A(m,n)=2
  • 删除:A(m,n)=[](将对应位元素改为空)
  • 提取:A([1,3,2]),依次提取1,3,2位的元素
  • 索引:使用括号 () 来索引数组中的元素。例如:C(2,3) 会返回矩阵 C 中第二行第三列的元素。
  • 切片:可以提取数组的一部分。例如:C(1:2, 2:3) 会提取矩阵 C 的第一和第二行以及第二和第三列的子矩阵。
  • 连接:使用方括号 [] 或函数如 cathorzcat(水平连接)和 vertcat(垂直连接)来连接数组。
  • 转置:使用单引号 ' 来转置数组。例如:C'
  • 计算数组尺寸:size(A),返回2    3,意为两行三列。
  • 计算向量尺寸:length(A)(如果放入矩阵,则显示最长的行或列)

矩阵处理函数

sum:对每一列求和,求和后将每一列的和显示为行向量。

prod:对每一列求乘积。

min:求列的最小值

max:求列的最大值

数组的运算

基本运算

  • A+B与A-B:加与减
  • K*A或A*K:数乘矩阵
  • K+A与K-A:K加(减)A的每个元素
  • A.^K,K.^A:数组乘方
  • A.*B:数组成数组
  • K./A:数除以数组
  • 左除A.\B=右除B./A:数组除法

数学函数

矩阵的数字函数也是按元素额运算,使其通常的函数号,如sin(A),cos(A),acos(A),tan(A),cot(A)等。

exp(A) 自然指数函数

sqrt(A)平方根函数

fix 向0取整

ceil 向+∞取整

floor:向-∞取整

rem 除法余数

mod:模除求余

abs:绝对值(模)

real 复数实部

imag:复数虚部

angle: 复数幅角

conj:复数共轭

log: 对数

ln: 自然对数

如:log10:以10为底的对数

result = log10(3);
//以十为底三的对数

关系与逻辑运算

  • <、<= 小于、小于等于
  • >、>= 大于、大于等于

  • ==、~= 等于、不等于
  • &(与)、|(或)、~(非)
  • any、all 、find

在MATLAB中,“真”用1表示,“假”用0,而逻辑运算中,所有非零元素作为1处理

今天我们学习到这里,明天继续学习MATLAB!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267818.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Android】碎片—动态添加、创建Fragment生命周期、通信

简单用法 在一个活动中添加两个碎片&#xff0c;并让这两个碎片平分活动空间 先新建一个左侧碎片布局和一个右侧碎片布局 左侧碎片 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…

Energizer锂电池系列之一的CR2032系列产品介绍

Energizer 的CR2032系列产品是锂纽扣电池&#xff0c;其能量密度高于传统电池。该系列于 2009 年发布&#xff0c;至今仍是最受欢迎的锂电池系列之一。虽然不可充电&#xff0c;但它们的保质期很长&#xff0c;可承受 -30C 至 65C 的环境温度。该系列的一些重要事实包括&#x…

纯电SUV又一个卷王,比亚迪都没它狠

文 | AUTO芯球 作者 | 雷慢 太狠了&#xff0c;就在刚刚&#xff0c; 我劝阻了一个高中同学暂时不要买宋PLUS纯电版&#xff0c; 因为又一个新能源卷王出现了&#xff0c; 在卷价格上&#xff0c;宋PLUS都没它狠。 不信你们看&#xff0c;埃安V第二代刚发布&#xff0c; …

搜维尔科技:scalefit-实时可视化人体工程学评估和直观报告

实时人体工程学评估和直观报告 使用Xsens Ergo Live体验动态人体工程学评估&#xff0c;并进行实时分析和直观报告-具有 Xsens 动作捕捉技术和 scalefit 的 Industrial Athlete。进行实时评估&#xff0c;轻松解释数据&#xff0c;并在 Excel 中生成快速、有见地的报告&#x…

视频编辑处理SDK,助力企业快速响应市场变化

视频已成为企业传播信息、展示品牌、连接用户的重要桥梁&#xff0c;如何在快节奏的市场竞争中&#xff0c;快速制作出高质量、富有创意的视频内容&#xff0c;成为众多企业面临的共同挑战。美摄科技&#xff0c;作为视频编辑处理技术的领航者&#xff0c;携其强大的视频编辑处…

Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 在 Android 中&#xff0c;你可以通过定义自定义的动画资源并在启动和结束 Activity 时应用这些动画&#xff0c;实现类似对话框从底部向上进入…

Linux并发程序设计(3):守护进程

目录 前言 一、介绍 1.1 概念 1.2 特点 1.3 举例 二、系统编程 2.1 setsid函数 2.2 getpid函数 2.3 getsid函数 2.4 getpgid函数 2.5 chdir函数 三、代码例程 3.1 使子进程在后台运行 3.2 使子进程脱离原终端 3.3 更换目录&#xff0c;并设定权限&#xff08;非…

noVNC使用与介绍

noVNC使用与介绍报告 1. 概述 VNC&#xff08;Virtual Network Console&#xff0c;虚拟网络控制台&#xff09;是一种流行的远程桌面访问协议&#xff0c;它允许用户通过网络连接到远程计算机的图形界面。VNC协议的实现通常包括两个主要组件&#xff1a;服务器端&#xff08…

【Python】 基于Q-learning 强化学习的贪吃蛇游戏(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

java.lang.ThreadLocal

ThreadLocal万字总结https://blog.csdn.net/sinat_33921105/article/details/103295070 key的唯一性 一个线程中的多个ThreadLocal变量如何存储、如何保证唯一性&#xff1f; 每一个 ThreadLocal<T> tl new ThreadLocal<>(); 创建出来都有一个不变且唯一的thre…

vue-plugin-hiprint 打印 预览打印+静默打印

1.安装 npm install vue-plugin-hiprint npm i socket.io-client --save //为了静默打印 &#xff08;为此还需安装客户端&#xff09; 2…html页面 引入css <link rel"stylesheet" type"text/css" media"print" href"https://cdn.jsde…

新手做短视频素材在哪里找?做短视频素材工具教程网站有哪些?

新手短视频制作指南&#xff1a;从零开始&#xff0c;快速成为短视频达人 蛙学网&#xff1a;新手短视频制作的首选平台 作为短视频制作新手&#xff0c;你是否在寻找合适的素材和工具来打造令人眼前一亮的作品&#xff1f;不用担心&#xff0c;蛙学网作为国内领先的素材平台&…

远程割草机行业全景剖析与投资前瞻预测:未来六年年复合增长率CAGR为7.8%

一、市场趋势分析 随着科技的进步和生活节奏的加快&#xff0c;远程割草机行业迎来了快速发展期。消费者对于省时省力的自动化园艺工具的需求推动了这一行业的增长。数据显示&#xff0c;远程割草机提供了更为安全、高效和环保的草坪维护解决方案。预计未来几年&#xff0c;随…

react小程序分包(遇见的坑)

使用的是taro组件 pages是原文件&#xff0c;分包文件夹是package 为了减少修改路径直接复制的pages的文件夹 第一个坑&#xff1a; 我做了分包&#xff0c;没有build打包导致没有生效&#xff08;所以需要build一下再dist里面生成分包的文件&#xff09; 第二个坑——路由…

C++笔记---缺省参数和函数重载

1. 缺省参数 1.1 定义 缺省参数是声明或定义函数时为函数的参数指定一个缺省值&#xff08;默认值&#xff09;。在调用该函数时&#xff0c;如果没有指定实参 则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff0c;缺省参数分为全缺省和半缺省参数。 void Func(…

LwIP入门实战 — 1 计算机网络简述

目录 1 计算机网络类别 2 常用网络协议与协议栈 2.1 常用网络协议 2.2 常用TCP/IP协议栈 3 网络协议的分层模型 4 协议层报文间的封装与拆封 5 WAN接口和LAN接口 1 计算机网络类别 广域网WAN(Wide Area Network)&#xff1a;广域网的作用范围通常为几十到几千公里&…

【用最少数量的箭引爆气球】python刷题记录

R2-贪心篇. 求最小&#xff0c;那就尽可能地假设更多的气球y值不相同咯。 不对&#xff0c;气球除了y值我们随便摆&#xff0c;所以找尽可能多重叠的&#xff0c;就作为同一只箭。 class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:#贪心策略…

高性能 Java 本地缓存 Caffeine 框架介绍及在 SpringBoot 中的使用

在现代应用程序中&#xff0c;缓存是一种重要的性能优化技术&#xff0c;它可以显著减少数据访问延迟&#xff0c;降低服务器负载&#xff0c;提高系统的响应速度。特别是在高并发的场景下&#xff0c;合理地使用缓存能够有效提升系统的稳定性和效率。 Caffeine 是一个高性能的…

宝塔单ip,新建多站点

报错如上&#xff1a; 那么如何新建多站点呢 先随便写个名字上去&#xff0c;然后再重新绑定别的端口… 这个时候访问99端口即可 。 如果是有域名&#xff0c;则不需要这样做 、直接80端口也可以多站点

OSPF配置与分析

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、相关知识 开放最短路径优先&#xff08;Open Shortest Path First&#xff0c;OSPF&#xff09;基于链路状态算法&#xff0c;是一个内部网关协议…