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://www.mzph.cn/bicheng/50147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十、SpringBoot 统⼀功能处理【拦截器、统一数据返回格式、统一异常处理】

十、SpringBoot 统⼀功能处理 1. 拦截器【HandlerInterceptor、WebMvcConfig】1.1 拦截器快速⼊⻔⾃定义拦截器&#xff1a;实现HandlerInterceptor接⼝&#xff0c;并重写其所有⽅法注册配置拦截器&#xff1a;实现WebMvcConfigurer接⼝&#xff0c;并重写addInterceptors⽅法…

堆(c++)

堆是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。 堆总是满足下列性质&#xff1a; 堆中某个节点的值总是不大于或不小于其父节点的值&#xff1b;堆总是一棵完全二叉树。 常见的堆有二叉堆、斐波那契堆等。 堆是非线性数据结构&#…

初识C++ · map和set的使用

目录 前言&#xff1a; 1 set 2 map 前言&#xff1a; 在前面阶段&#xff0c;我们已经学习了stl里面的部分容器&#xff0c;比如vector,list,deque等&#xff0c;这些容器都被称为序列式容器&#xff0c;也就是每个值之间式没有关联的&#xff0c;那么今天介绍的容器&…

【笔记本触摸屏】超级好用技巧

选中文字&#xff1a;点一下要复制的文字开头&#xff0c;按住shift键不放&#xff0c;然后点一下你想要的文字结尾滚动&#xff1a;双指向 水平 或者 垂直 方向滑动放大或者缩小: 将两个手指放在触摸板上&#xff0c;让后收缩后者拉伸显示更多命令&#xff08;类似于右键单击&…

四十九、 通过境内数据交易所进行跨境数据贸易应考虑哪些跨境数据合规问题?

根据中国信通院数据显示&#xff0c;2023 年我国数字经济规模可达 56.1 万亿元, 数字经济占 GDP 比重接近于第二产业&#xff0c;占国民经济的比重&#xff0c;达到 40%以上。伴随数字技术兴起以及各项数字经济相关的政策和法律的落地&#xff0c;以跨境数据流动为底层支撑的跨…

智能音箱和普通音箱有什么区别

智能音箱和普通音箱在多个方面存在显著的区别&#xff0c;主要包括设计目的、功能特点、连接方式、音质表现以及交互方式等。 一、设计目的和功能特点 智能音箱&#xff1a;设计目的不仅仅是为了播放音乐&#xff0c;更重要的是集成了语音识别和语音交互功能&#xff0c;成为…

IGV.js | 载入自己下载的gtf文件

1.安装 htslib-1.20 https://www.htslib.org/doc/tabix.html J3$ cd ~/Downloads/ $ wget https://github.com/samtools/htslib/releases/download/1.20/htslib-1.20.tar.bz2 $ tar jxvf htslib-1.20.tar.bz2编译安装&#xff1a; $ cd htslib-1.20/ $ ./configure --prefix/…

ts -> class -> abstract

在TypeScript中&#xff0c;你可以直接使用abstract关键字来定义抽象类和抽象方法。抽象类不能被实例化&#xff0c;而抽象方法必须在派生类中被实现。以下是一个具体的例子&#xff1a; abstract class Animal {name: string;constructor(name: string) {this.name name;}//…

C#中的Action

C#中的Action是一种委托类型&#xff0c;‌用于引用不返回值的方法。‌Action可以接受0到16个参数&#xff0c;‌并且不返回任何值。‌它是一种通用的委托类型&#xff0c;‌非常方便用于处理不同参数和不同函数签名的情况。‌Action的用法包括声明Action委托类型、‌创建Actio…

vue的三大核心知识点

响应式&#xff1a; 监听data属性getter setter(包括数组)模板编译&#xff1a; 模板到render函数再到vnodevdom&#xff1a; patch(elem, vnode)和patch(vnode, newVnode) vue组件初次渲染过程 解析模板为render函数&#xff08;或在开发环境已完成&#xff0c;vue-loader&a…

WIX Toolset 3.11 对本地化的支持方案

1.准备主题文件和本地化文件 WIX Toolset种主题文件为xml文件&#xff0c;负责配置控件的布局&#xff0c; 本地化文件为wxl文件&#xff0c;负责配置待加载的字符串&#xff0c;主题文件根据ID加载需要显示的文字内容。考虑到英文和中文字符长度大小不一&#xff0c;所以这里…

渗透测试——prime1靶场实战演练{常用工具}端口转发

文章目录 概要信息搜集 概要 靶机地址&#xff1a;https://www.vulnhub.com/entry/prime-1,358 信息搜集 nmap 扫网段存活ip及端口 找到除了网关外的ip&#xff0c;开放了80端口&#xff0c;登上去看看 是一个网站&#xff0c;直接上科技扫一扫目录 python dirsearch.py -u …

尝试带你理解 - 进程地址空间,写时拷贝

序言 在上一篇文章 进程概念以及进程状态&#xff0c;我们提到了 fork 函数&#xff0c;该函数可以帮我们创建一个子进程。在使用 fork 函数时&#xff0c;我们会发现一些奇怪的现象&#xff0c;举个栗子&#xff1a; 1 #include <stdio.h>2 #include <unistd.h>3 …

跟《经济学人》学英文:2024年07月20日这期 The Russell 2000 puts in a historic performance

Why investors have fallen in love with small American firms The Russell 2000 puts in a historic performance 罗素2000指数&#xff1a; 罗素2000指数&#xff08;英语&#xff1a;Russell 2000 Index&#xff09;为罗素3000指数中收录市值最小的2000家&#xff08;排序…

Linux 常用命令详解:从基础操作到进阶应用

Linux 常用命令详解&#xff1a;从基础操作到进阶应用 简介 Linux 是一个强大且灵活的操作系统&#xff0c;它在服务器、开发环境和个人计算机中得到了广泛的应用。Linux 的命令行界面提供了丰富的工具和命令&#xff0c;可以帮助用户高效地管理系统、处理文件、监控性能和进…

WebKit的暗黑魅力:全面拥抱Dark Mode

WebKit的暗黑魅力&#xff1a;全面拥抱Dark Mode 在当今数字时代&#xff0c;用户越来越注重个性化体验和视觉舒适度。暗黑模式&#xff08;Dark Mode&#xff09;作为一种新兴的界面风格&#xff0c;以其减轻视觉疲劳和节省电量的特点&#xff0c;迅速受到用户的青睐。WebKit…

学习笔记 韩顺平 零基础30天学会Java(2024.7.25)

P425 枚举类引出 举了一个例子&#xff0c;季节类创建对象&#xff0c;但是根据Java的规则&#xff0c;可以设置春夏秋冬以外的对象&#xff0c;而且可以修改&#xff0c;这样就会不符合实际&#xff0c;因此引出枚举 P426 自定义枚举类 1.构造器私有化&#xff0c;使外面没有办…

深入解析 GPT-4o mini:强大功能与创新应用

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

【Vue实战教程】之Vue项目中的异步请求

Vue的异步请求 1 axios的安装与使用 Axios是一个基于promise的HTTP库&#xff0c;主要用来向服务端发起请求&#xff0c;可以在请求中做更多可控的操作&#xff0c;例如拦截请求等。 Axios可以使用在浏览器和node.js中&#xff0c;Vue、React等前端框架的广泛普及&#xff0c…

C++ 列式内存布局数据存储格式 Arrow

Apache Arrow 优点 : 高性能数据处理&#xff1a; Arrow 使用列式内存布局&#xff0c;这特别适合于数据分析和查询操作&#xff0c;因为它允许对数据进行高效批量处理&#xff0c;减少CPU缓存未命中&#xff0c;从而提升处理速度。 零拷贝数据共享&#xff1a; Arrow …