MATLAB基础——关于数组(一)

article/2025/11/11 12:59:18

变量和数组

MATLAB程序的基本数据单元是数组,标量在MATLAB中也被当做数组来处理
数组可以定义为向量(一般描述为一维数组)或矩阵(一般描述为二维或多维)
访问数组中的元素:数组名+()
MATLAB变量名的命名:以字母开头,可跟字母、数字、下划线,只有前31个字符有效
区分字母的大小写

强类型语言

像C语言一样:

int a;
double b;

弱类型语言

像Matlab、Python一样:

c = 'l am a student'
% 不需要给变量设定一个变量类型
% 而只需通过复制形式创建类型,且变量类型取决于创建时的类型

变量的初始化

赋值语句初始化
在这里插入图片描述
input函数从键盘输入初始化变量
这是一个错误的写法
在这里插入图片描述
在这里插入图片描述
ans=0 说明输入的不是一个整形

从文件读取一个数据

赋值输入

一个数组的每行元素的个数必须完全相同,每一列元素的个数也必须完全相同
在这里插入图片描述
对数组中元素的访问,采用 数组名 (number)的形式,number是从1开始。

a1=[0,2,4];
b=[a1(2) a1];
b

b =

 2     0     2     4

定义数组的时候不是每个元素都要定义

c(2,3)=5

c =

 0     0     00     0     5

指定数组中的一个元素赋值,其余默认为零
如果给一个数组赋值的元素超出了数组的大小的话,会新创一个数组(语文水平不高,还是matlab菜鸟,见谅,不懂看一下代码就晓得了)

d=[1,4]

d =

 1     4

d(3)=8

d =

 1     4     8

每个语句的末尾分号用来紧致变量值在命令窗口的重复

在这里插入图片描述

表达式赋值

matlab中的克隆运算符为:first:incr:last(起始位置,步长,终止位置)

x=1:2:10

x =

 1     3     5     7     9

类似于Python中的切片

 a = [1,2,3,4,5,6,7,8]for i in a[::-1]:print(i)

结果为:8 7 6 5 4 3 2 1
但是Python中的第一个是起始位置,第二个是终止位置,最后一个是步长

matlab中的0.01表示注意

x=(.01:.01:.1)*pi
% 该式子的起始是0.01 步长为0.01,终止位置为0.1
x =

1 至 8 列

0.0314    0.0628    0.0942    0.1257    0.1571    0.1885    0.2199    0.2513

9 至 10 列

0.2827    0.3142

转置运算符 '(英文单引号)

d=[1:5]

d =

 1     2     3     4     5

h=[d’]

h =

 12345

zeros函数(全零矩阵)

a=zeros(2)

a =

 0     00     0

% 如果只有一个参数则生成n阶矩阵,如果给了m,n两个参数则生成mXn矩阵

b=zeros(2,4)

b =

 0     0     0     00     0     0     0

ones(n) and one(m,n)

一个参数,生成n阶一矩阵
两个参数,生成mXn矩阵,eye函数相同
创建一个全1矩阵

a=ones(3)

a =

 1     1     11     1     11     1     1

a=ones(3,4)

a =

 1     1     1     11     1     1     11     1     1     1

b=eye(2)

eye(n) and eye(m,n)

生成单位矩阵
b =

 1     00     1

b=eye(2,3)

b =

 1     0     00     1     0

向量或数组的长度(取最大值)

length(b)

ans =

 3

size(矩阵的大小)

size(b)

ans =

 2     3

矩阵、数组、向量

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

A =

 1     23     45     6

B=[1,2,3,4]

B =

 1     2     3     4

C=[B’]

C =

 1234

A是2X3的矩阵,B是一个一维行向量,C是一个一维行向量

多维数组

c(:,:,1)=[1,2,3;4,5,6]
c1(:,:,2)=[1,2,3;4,5,6]

c =

 1     2     34     5     6

whos c
Name Size Bytes Class Attributes

c 2x3 48 double
c1(:,:,2) =

 1     2     34     5     6

whos c1
Name Size Bytes Class Attributes

c1 2x3x2 96 double

MATLAB中以列主导顺序分类数组中的元素

a=[1,2,3;4,5,6;7,8,9;10,11,12]

a =

 1     2     34     5     67     8     9
10    11    12

a(4)

ans =

10

a(2)

ans =

 4

a(5)

ans =

 2

a(1,2)

ans =

 2

a(4,1)

ans =

10

数组名(object),object可以是一个数字(第几个),也可以是两个数字(几行几列)

子数组

使用克隆运算符

a(:,1:1:3)

ans =

 1     2     34     5     67     8     9
10    11    12

a(:,1:2:3)

ans =

 1     34     67     9
10    12

a(:,1:3:3)

ans =

 147
10

a(1,:)

ans =

 1     2     3

a(2,:)

ans =

 4     5     6

a(3,:)

ans =

 7     8     9

a(4,:)

ans =

10    11    12

a(5,:)
索引超出矩阵维度。

a(:,1)

ans =

 147
10

a(:,2)

ans =

 258
11

a(:,3)

ans =

 369
12

a(:,4)
索引超出矩阵维度。

end函数

a

a =

 1     2     34     5     67     8     9
10    11    12

a(3:end,3:end)

ans =

 9
12

这里的a(行,列),类似于Python中的索引(切片)

x=[1,2,3,4,5,6,7,8]
print(x[3:])

在这里插入图片描述
将会从下标为3的元素开始直到结束

更改数组元素的值

子数组赋值只会改变部分值,如果直接赋值则会先把该数组原有内容删除,再赋新值

a

a =

 1     2     34     5     67     8     9
10    11    12

a(1:3,[2,3])=[22,33;55,66;88,99]
% 1:3 表示1到3行,[2,3]表示2到3列剩下的为更换的值,更换的值也可以用一个数字表示,则所要更改的元素都为该数字
a =

 1    22    334    55    667    88    99
10    11    12

http://chatgpt.dhexx.cn/article/IjFWsLnf.shtml

相关文章

Matlab 数组与矩阵

矩阵 1、v21:3:18 ;表示的是从1 开始 18 结束,间隔为3 的一个等差数列v2 1 4 7 10 13 162、linspace(1,10,9);,介于1-10 之间,取9个数,使得他们是一个等差数列 >> linspace(1,10,9)ans 1.0000 2.1250 3.250…

matlab常用的数组操作总结

总结一下需要的matlab数组操作,免得每次都要去官网上找 参考文献:多维数组 - MATLAB & Simulink - MathWorks 中国: https://ww2.mathworks.cn/help/matlab/math/multidimensional-arrays.html#f1-87418 文章目录 1创建并扩展多维普通数组1普通数组引…

MATLAB怎么创建矩阵和数组

参考 MATLAB怎么创建矩阵和数组 - 云社区 - 腾讯云 第一步:首先教给大家如何创建数组,MATLAB创建数组的方法比较简单,我们在MATLAB中输入如下代码:x[2 4 6 8 10] 即可创建数组,数据之间使用空格或者逗号隔开&#xff…

MATLAB 数组计算

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

MATLAB-数组

数组 数组分类按照数组元素个数与排列方式分类按照数组的存储方式分类 创建数组直接输入函数生成 数组操作获取数组中的元素矩阵元素的引用单个元素的引用多个元素的引用:冒号的特殊用法 各类型数组操作数组的算术操作数组的逻辑运算使用库函数数组连接数组切片数组…

MATLAB中的数组

一、什么是数组 数组是组织成行和列的数据值的组合。 数组可以分为向量和矩阵。 向量通常用来描述只有一维的数组;而矩阵用来描述二维或者多维的数组。 数组在内存中存储是按列存储的。 二、创建和初始化一维或二维数组 1、在赋值语句中初始化 % array1为一维数…

MATLAB学习笔记——数组

MATLAB的数组 数组 数组的创建 (1)直接输入法 1、建立数组最直接的方法是在命令窗口直接输入数组 2、数组元素间用空格,逗号或分号分隔。 3、空格和逗号分隔建立行向量,元素之间用分号分隔建立列向量。 调用格式&#xff1…

Matlab中的向量和数组(超详细)

Matlab中的向量和数组(超详细) 文章目录 Matlab中的向量和数组(超详细)Matlab中的向量介绍创建向量向量的大小索引向量数值索引逻辑索引 缩短向量向量运算算术运算逻辑运算sum()、min()、max()、round()、ceil()、floor()、fix()切…

Windows server :DHCP服务 地址保留DHCP域备份

实验环境:在虚拟机上 一台Windows server 2016 一台Windows 10 1.DHCP 地址保留 我们到server上的服务器管理界面 右上角工具》dhcp 进入dhcp 依次找到作用域 然后我们去看被Windows 10 保留分配的mac地址 可以看到物理地址为:00-0C-29-77-BF-7C 这时再…

计算机ip保留地址,分类ip地址中,保留地址有哪些?具体点说说,作业。

分类ip地址中,保留地址有哪些?具体点说说,作业。以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 分类ip地址中,保留地址有哪些?具体点说说,作业。 A类地址中的私有地址和保留地址: ①10.0.0.1到10.255.25…

保留的IP地址

主机ID全为0的地址:特指某个网段,比如192.168.10.0 255.255.255.0。指192.168.10.0网段。主机ID全为1的地址:特指该网段的全部主机,如果你的计算机发送数据包使用主机ID全是1的IP地址,用作广播,数据链路层…

DHCP 地址保留

1.查看需要保留地址主机的mac地址 2.编辑DHCP服务器的配置文件 vim /etc/dhcp/dhcpd.conf 3.重启DHCP服务器 service dhcpd restart 4.重启测试机的网卡 ifdown eth0;ifup eth0

IP地址分类详解:A、B、C、D类地址如何划分的以及保留地址(特殊地址)介绍

一、IP地址类型 2.1基本分类 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID(net-id)和主机ID(host-id)。 同一个物理网络…

计算机ip保留地址,ip地址显示为保留地址怎么解决

ip地址显示为保留地址怎么解决 2016-09-05 10:28 标签:dhcp,ip地址 ip是保留地址怎么解决?ip作为计算机网络相互连接进行通信的协议,当dhcp超出系统规定的时间后,便会自动分配一个保留地址作为ip,如果主机ip地址为…

ip保留地址

A类: 10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址)。 127.X.X.X是保留地址,用做循环测试用的。 B类: 172.16.0.0---172.31.255.255是私有地址。 169.254.X.X是保留地址…

Unity URP管线的PBR材质及Tessallation Shader(Height Map高度贴图)

在使用URP管线的过程中发现默认的URP管线的shader是没有提供height map参数设置的,经过查找才知道URP管线中height map相关的功能需要自己写shader开启Tessallation(曲面细分)和Displacement(移位贴图)功能才能使用。 …

SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试

SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试 1.下载安装SubstanceDesigner,网址:https://zixue.3d66.com/softhtml/downsoft_1242.html 2.unity中unity018及以上版本需要Appstore中下载安装插件:Substance in Unity 3. substanceDesigner操…

PBR 六 材质参数

材质参数 前言Disney BRDF参数Google FilamentFilament参数的RemappingBaseColor Remapping反射率映射Roughness小结 前言 本章主要介绍贴图(本章的参数)与上两章中的公式之间的映射,这种映射主要时为了用户或者美术能够方便的观察和调试参数…

Three.js——十一、PBR材质金属度、粗糙度以及环境贴图的使用

Three.js——十一、PBR材质金属度、粗糙度以及环境贴图的使用 metalness金属度 金属度属性.metalness表示材质像金属的程度, 非金属材料,如木材或石材,使用0.0,金属使用1.0。 new THREE.MeshStandardMaterial({metalness: 1.0,//金属度属性 }) // 或者 // mesh.material.met…

Unity URP 手撸一个自己的PBR材质

嘿嘿,你能认出哪个是官方的lit shader,哪个是我手撸的PBRshader吗 。 然后就可以魔改成风格化的PBR拉 先占个坑,后面有空的话会梳理一遍URP的pbr流程和相关公式 最后一定要注意自己的shader是否符合SRP Batcher!