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

MATLAB数组

文章目录

  • 数组
    • 创建
      • 通过冒号创建一维数组
      • 通过logspace函数创建一维数组
      • 通过linspace函数创建一维数组
    • 通过randperm生成随机整数排列
    • 运算
      • 算术运算
      • 关系运算
      • 逻辑运算
      • 优先顺序
  • 矩阵
    • 创建
    • 矩阵操作
    • 下标引用
    • 矩阵信息提取
    • 删除与扩展
    • 合并
    • 矩阵元素的运算
    • 矩阵运算

数组

在MATLAB中一般使用方括号"[]“、逗号”,“,空格号和分号”;"来创建数组,数组中同一行的元素使用逗号或空格进行分隔,不同行之间用分数进行分隔。

创建

通过冒号创建一维数组

x=A:step:B

A是创建一维数组的第一个变量,step是每次递增或递减的数值,直到最后一个元素和B的差的绝对值小于等于step的绝对值为止。

通过logspace函数创建一维数组

y=logspace(a,b)

该函数创建行向量,第一个元素为 1 0 a 10^a 10a,最后一个元素 1 0 b 10^b 10b,形成总数为50个元素的等比数列。

y=logspace(a,b,n)

该函数创建行向量,第一个元素为 1 0 a 10^a 10a,最后一个元素 1 0 b 10^b 10b,形成总数为n个元素的等比数列。

通过linspace函数创建一维数组

y=linspace(a,b)

该函数创建行向量,第一个元素为 a a a,最后一个元素 b b b,形成总数为100个元素的等差数列。

y=linspace(a,b,n)

该函数创建行向量,第一个元素为 a a a,最后一个元素 b b b,形成总数为n个元素的等差数列。

通过randperm生成随机整数排列

P=randperm(N);%生成一个[1,2,..,N]的一个随机排列
P=randperm(N,K);%生成一个长度为K的向量,其中元素取自1~N间的整数,无重复
perms(a);%返回向量a的全排列

运算

算术运算

  • +,-:数组间加法、减法运算直接对对应元素进行操作,要求是数组A、B维数相同
  • ./、.*、.\:数组间的乘除运算直接对对应元素进行操作,要求是数组A、B维数相同,其中A./B=B.\A
  • .^:实现乘方,数组对数组表示数组各个元素对另一个数组各个元素进行乘方操作,要求维数相同,标量对数组乘方和数组对标量都是各个元素与标量之间的运算
  • dot():点积操作,要求维数相同

关系运算

<、<=、>、>=、==、~=

逻辑运算

&、|、~

优先顺序

  1. 括号
  2. 转置和乘幂
  3. 乘除
  4. 加减
  5. 冒号
  6. 关系运算
  7. 逻辑运算

矩阵

矩阵是数学上的概念,而数组是计算机程序设计领域的概念。

创建

矩阵的创建有两种方法,一种是采用"[]",将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号隔开,另一种就是创建特殊矩阵。

OneMatrix = ones(2);%构建全1矩阵 ones(m,n,...,p)
zerosMatrx = zeros(2);%构建全0矩阵 zeros(m,n,...,p)
Identity = eye(2);%构建单位矩阵 eye(2,3) eye(3,2)
Random = rand(2,3);%构建随机矩阵,0到1之间均匀分布
R=randi(IMAX,N);%返回一个N*N随机矩阵,矩阵中的元素为1~MAX之间的均匀分布随机整数
R=randi(IMAX,M,N);%返回一个N*M随机矩阵,矩阵中的元素为1~MAX之间的均匀分布随机整数

矩阵操作

Randoma = randn(1,4);%构建随机矩阵,均值为0,单位方差的正态分布随机数
Randoma = reshape(Randoma,2,2);%生成2*2的矩阵,元素按现行索引的顺序从Randoma中取
Randoma = fliplr(Rnadoma);%将矩阵的每一行逆序排列

下标引用

矩阵可以通过双下标引用和单下标引用两种方式获得元素,其中单下标引用列优先。

IND = sub2ind(size,i,j);%将双下标索引转换为单下标索引
[I J] = ind3sub(size,ind);%将单下标转换为双下标索引

矩阵信息提取

%获取矩阵结构
A = zeres(4,4);%构造全0矩阵
isempty(A);%判断矩阵A是否为空
isscalar(A);%判断矩阵A是否是标量
isvector(A);%判断矩阵A是否是向量
issparse(A);%判断矩阵A是否为稀疏矩阵%获取矩阵大小
ndims(A);%获取矩阵维数
[m,n]=size(A);%获取矩阵各维长度
length(A);%获取最长维的长度
numel(A);%获取矩阵元素个数

删除与扩展

A=[1 1;2 2];%初始化矩阵
A(3,:)=3;%整行扩展赋值
A(4,1)=4;A(4,2)=5;%单个元素赋值增加新元素
A(2,:)=[];%删除整行

合并

A=[2 0 -1;1 3 2];
B=[1 7 -1;4 2 3;2 0 1];
C=[1 0 1 0;-1 2 0 1];
MAB1=cat(1,A,B);%按行合并=horcat(A,B)=[A,B]
MAB2=cat(2,A,C);%按列合并==vercat(A,C)=[A;C]
Y=blkdiag(A,B,C);%构造对角化矩阵

矩阵元素的运算

基本运算和数组类似

A\B;%表示A的逆矩阵乘以B
A/B;%表示A乘以B的逆矩阵B=sort(A);%表示对A按列进行升序排序
B=sort(A,dim);%若dim为1按列升序,若dim为2,按行升序
B=sort(A,dim,mode);%若mode为'ascend',则升序,若mode为'descend',则降序B=sum(A);%计算各列元素之和,返回行向量
B=sum(A,dim);%若dim为1,则同上;若为2,则计算各行向量之和,返回列向量
B=cumsum(A);%返回一个矩阵,第n行表示每列第1到n个数的和
B=cumsum(A,dim);%若dim为1,则同上;若为2,则返回一个矩阵,第n列表示每行第1到n个数的和%下列是求积运算,形式与求和一样
B=prod(A);
B=prod(A,dim);
B=cumprod(A);
B=cumprod(A,dim);%差分运算:将矩阵元素某行(列)减去上一行(列)的结果保存在该行(列)
A=magic(3);
B=diff(A);%将矩阵元素某行减去上一行的结果保存在该行
C=diff(A,2);%2阶差分,即对一阶差分的矩阵再做一次差分
D=diff(A,1,dim);%dim取1表示按列,取2表示按行

矩阵运算

%范数
a=[1 2 3;4 5 6;7 8 9;];
b=norm(a);%默认二阶范数,可带参数%秩
c=rank(a);%行列式
d=det(a);%迹,表示对角线元素的和
e=trace(a);

相关文章:

MATLAB数组

文章目录 数组创建通过冒号创建一维数组通过logspace函数创建一维数组通过linspace函数创建一维数组 通过randperm生成随机整数排列运算算术运算关系运算逻辑运算优先顺序 矩阵创建矩阵操作下标引用矩阵信息提取删除与扩展合并矩阵元素的运算矩阵运算 数组 在MATLAB中一般使用…...

JAVA实验项目(二): 抽象类、接口的定义与使用

实验项目二 抽象类、接口的定义与使用 Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&…...

JVM内存模型最新面试题(持续更新)

问题&#xff1a;java中创建的对象一般放在哪里&#xff1f;(全流程包含从创建到回收) 回答 大部分对象在堆中&#xff0c;这个基本都知道&#xff1b; 少部分对象是会在栈中的&#xff0c;比如作用域不局限于方法内的方法内部变量&#xff0c;这类对象的特征一般就是生命周期…...

Nginx wss to ws 折腾记

jssip 或 sipml5 <----wss--->nginx<---ws---->fs(5066) fs_cli -x sofia loglevel all 9 日志如下&#xff1a; REGISTER sip:192.168.43.135 SIP/2.0 Via: SIP/2.0/WSS df7jal23ls0d.invalid;branchz9hG4bKurFnCK9qJuXQlSrbszSL1S6wbCokKlLr;rport From: <…...

Java入门基础学习笔记22——程序流程控制

程序流程控制&#xff1a;控制程序的执行顺序。 程序有哪些执行顺序&#xff1f; 顺序、分支和循环。 分支结构&#xff1a; if、switch 循环&#xff1a; for、while、do-while 顺序结构是程序中最简单最基本的流程控制&#xff0c;没有特定的语法结构&#xff0c;按照代码…...

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API + WebSocket + WebService

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API WebSocket WebService 云HIS是基于云计算的医疗卫生信息系统&#xff08;Cloud-Based Healthcare Information System&#xff09;&#xff0c;它运用云计算、大数据、物联网等新兴信息技术&#xff0c;…...

2024年成都高新区支持企业申报国家、省级、市级大数据产业发展、新一代信息技术与制造业融合发展、工业互联网推广应用等试点示范项目申报对象条件和奖补

一、申报对象 &#xff08;一&#xff09;本政策支持注册地址、税收关系在成都高新区&#xff0c;具有独立法人资格的企业。 &#xff08;二&#xff09;管理规范&#xff0c;无不良信用记录&#xff0c;自觉遵守安全生产、环境保护等方面的法律法规&#xff0c;近三年未发生…...

让《行列视》解放数据力量,提升业务洞察

在当今信息化浪潮下&#xff0c;数据已经成为企业发展的核心驱动力之一。如何更好地管理和利用数据&#xff0c;已成为企业发展过程中亟需解决的问题之一。而报表工具作为数据可视化和分析的利器&#xff0c;正逐渐受到企业的重视和青睐。 一、《行列视》作为报表工具的重要性…...

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】 2244.完成所有任务需要的最少轮数方法&#xff1a;哈希表贪心 2244.完成所有任务需要的最少轮数 方法&#xff1a;哈希表贪心 用哈希表统计每个等级出现的次数 每次处理优先消费 3 个&#xff0c;m % 3 后&#…...

【RAG 去噪】引入 NLI 模型来为 RAG 去噪

论文&#xff1a;Making Retrieval-Augmented Language Models Robust to Irrelevant Context ⭐⭐⭐ ICLR 2024, arXiv:2310.01558 Code: github.com/oriyor/ret-robust 论文速读 这篇论文引入 NLI&#xff08;Natural Language Inference&#xff09;模型来判定 retrieved d…...

SQLite利用事务实现批量插入(提升效率)

在尝试过SQLite批量插入一百万条记录&#xff0c;执行时长高达20多分钟后&#xff0c;就在想一个问题&#xff0c;这样的性能是不可能被广泛应用的&#xff0c;更不可能出现在真实的生产环境中&#xff0c;那么对此应该如何优化一下呢&#xff1f; 首先分析一下批量插入的逻辑 …...

使用Python处理Excel数据:去除列中的双引号

目录 引言 技术背景 步骤概述 代码示例 案例分析 扩展内容 1. 处理多个列中的双引号 2. 处理大型Excel文件 3. 自定义函数处理数据 4. 错误处理和日志记录 结论 引言 在当今信息爆炸的时代&#xff0c;数据已经成为了各个行业最宝贵的资源之一。而Excel&#xff0c…...

未来互联网:Web3的技术革新之路

引言 随着技术的不断发展和社会的日益数字化&#xff0c;互联网作为信息交流和社交媒介的重要平台已经成为我们生活中不可或缺的一部分。然而&#xff0c;传统的互联网架构在数据安全、隐私保护和去中心化等方面存在着诸多挑战。为了解决这些问题&#xff0c;Web3技术应运而生…...

【练习】分治--快排思想

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;算法(Java)&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 颜色分类 题目描述 题解 代码实现 排序数组 题目描述 题解 代码…...

Unity读书系列《Unity高级编程:主程手记》——C#技术要点

文章目录 前言一、业务逻辑优化技巧二、Unity3d中C#的底层原理三、List底层源码剖析四、Dictionary底层源码剖析五、浮点数的精度问题六、委托、事件、装箱、拆箱七、算法总结 前言 本文旨在总结某一概念的性质&#xff0c;并引出相关的技术要点。如果读者希望深入了解相关技术…...

Redis分片集群

哨兵集群虽然解决了高可用和高并发读问题&#xff0c;但是还是有缺陷 1. 因为是主节点是单节点&#xff0c;并发写存在瓶颈 2.数据量大了每个节点存储相同的数据&#xff0c;造成内存紧张&#xff0c;资源浪费 redis.conf文件 port 6379 # 开启集群功能 cluster-enabled yes…...

Math.Round()函数说明

Math.Round()并不是严格意义上的是四舍五入函数。它默认的执行的是“银行家舍入”算法&#xff0c;即四舍六入五取偶。概括为&#xff1a;四舍六入五考虑、五后非零就进一&#xff0c;五后皆零看奇偶&#xff0c;五前为偶应舍去、五前为奇要进一。 当为5时&#xff0c;取离着最…...

001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮

文章目录 ProductController.javaProduct.javaElasticsearchSyncListener.javaProductElasticSearchMapper.javaProductMapper.javaProductDeletedEvent.javaProductServiceImpl.javaSyncProductService.javaIProductService.javaElasticSearchSpringDemoApplication.javaServl…...

Vue 快速入门:Vue初级

语法规则 前端渲染 渲染有几种方式&#xff1a;原生js、js模板、Vue模板语法 原生js 使用字符串拼接 js模板语法 Vue.js 模板语法概述 Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;其模板语法非常灵活和直观。Vue 的模板语法基于 HTML&#xff0c;可以通过指令…...

什么是IP跳变?

IP 跳跃&#xff08;也称为 IP 跳动&#xff09;的概念已引起使用代理访问网站的用户的极大关注。但 IP 跳跃到底是什么&#xff1f;为什么它对于各种在线活动至关重要&#xff1f; 在本文中&#xff0c;我们将深入探讨 IP 跳跃的世界&#xff0c;探索其实际应用、用例、潜在问…...

PP-DocLayoutV3部署教程:requirements.txt依赖版本兼容性验证指南

PP-DocLayoutV3部署教程&#xff1a;requirements.txt依赖版本兼容性验证指南 1. 引言&#xff1a;为什么需要关注依赖兼容性 当你准备部署PP-DocLayoutV3这个强大的文档布局分析模型时&#xff0c;可能会遇到一个常见但令人头疼的问题&#xff1a;明明按照文档安装了所有依赖…...

Qwen3-14B企业知识沉淀:会议录音转写+关键结论自动提炼

Qwen3-14B企业知识沉淀&#xff1a;会议录音转写关键结论自动提炼 1. 企业知识管理的痛点与解决方案 在日常工作中&#xff0c;会议是信息交流的重要场景&#xff0c;但会议录音的整理工作往往耗时费力。传统的人工转写方式存在几个明显问题&#xff1a; 效率低下&#xff1…...

Python打包神器大PK:Nuitka vs PyInstaller,谁才是你的菜?(附实测数据)

Python打包工具深度评测&#xff1a;Nuitka与PyInstaller的终极对决 当开发者需要将Python项目分发给没有Python环境的用户时&#xff0c;打包工具的选择往往成为关键决策。本文将深入分析两大主流工具Nuitka和PyInstaller在多个维度的表现&#xff0c;帮助开发者根据项目需求做…...

别再只改默认密码了!Nacos 1.x/2.x 生产环境安全加固保姆级清单(附漏洞自查脚本)

Nacos生产环境安全加固全指南&#xff1a;从基础配置到漏洞防御 在微服务架构盛行的今天&#xff0c;Nacos作为服务发现和配置管理的核心组件&#xff0c;其安全性直接影响整个系统的稳定性。许多团队在部署Nacos时往往只满足于修改默认密码&#xff0c;却忽视了完整的安全防护…...

intv_ai_mk11应用场景:技术团队内部知识沉淀助手、新人入职培训问答机器人

intv_ai_mk11应用场景&#xff1a;技术团队内部知识沉淀助手、新人入职培训问答机器人 1. 什么是intv_ai_mk11对话机器人 intv_ai_mk11是一款基于7B参数Llama架构的AI对话助手&#xff0c;专门为技术团队和新人培训场景设计。它运行在GPU服务器上&#xff0c;能够理解并回答各…...

AutoGen Studio效果展示:看Qwen3-4B如何协作完成网页设计

AutoGen Studio效果展示&#xff1a;看Qwen3-4B如何协作完成网页设计 1. AutoGen Studio简介 AutoGen Studio是一个基于微软AutoGen框架开发的低代码界面工具&#xff0c;它让构建和组合AI代理变得简单直观。通过这个平台&#xff0c;你可以快速创建多个AI代理&#xff0c;为…...

基于GADF-CNN-GOSO-LSSVM的齿轮箱故障诊断方法探索

基于GADF-CNN-GOSO-LSSVM的齿轮箱故障诊断 首先&#xff0c;利用格拉姆角场差(GADF)时频分辨率高、可以深度反映时间序列内在结构和关系的特点&#xff0c;对采集到的一维故障数据信号转为二维图像&#xff0c;得到图像后并将图像进行降维处理&#xff1b;然后&#xff0c;将第…...

【Java 21记录模式性能优化终极指南】:3个被90%开发者忽略的模式匹配陷阱及提速300%的实战方案

第一章&#xff1a;Java 21记录模式性能优化全景概览Java 21 引入的记录模式&#xff08;Record Patterns&#xff09;不仅提升了模式匹配的表达力&#xff0c;更在JVM层面实现了多项关键性能优化。通过与模式匹配&#xff08;Pattern Matching for instanceof&#xff09;和解…...

CentOS部署PHP项目完整步骤

CentOS 7.9 部署 PHP 7.4 MySQL 5.7.44 完整步骤 由于 CentOS 7 已于 2024 年 6 月 30 日停止官方维护&#xff0c;原有的 yum 源已不可用&#xff0c;因此必须首先更换为阿里云镜像源才能正常安装软件。 一、系统环境准备 1.1 更换阿里云 YUM 源 # 1. 备份原有源 mv /etc/yum…...

让 AI 听懂业务、直接干活:销售易 NeoAgent 2.0 的三大跃迁

当软件行业仍在争论“AI是否会杀死SaaS”时&#xff0c;销售易已经给出了自己的答案。3月27日&#xff0c;在2026腾讯云城市峰会首站上海站&#xff0c;腾讯旗下CRM销售易正式发布新一代营销服全场景AI原生CRM——NeoAgent 2.0。这并非一次简单的产品迭代&#xff0c;而是销售易…...