MATLAB中的数组
一、什么是数组
数组是组织成行和列的数据值的组合。
数组可以分为向量和矩阵。
向量通常用来描述只有一维的数组;而矩阵用来描述二维或者多维的数组。
数组在内存中存储是按列存储的。
二、创建和初始化一维或二维数组
1、在赋值语句中初始化
% array1为一维数组
array1=[1 2 3 4]
% array2为一个2*3的数组 ;分开不同的行 列之间空格隔开
array2=[1 2 3;4 5 6]
运行结果:
2、使用快捷表达式初始化
冒号运算符 first:incr:last
其中first是第一个值,incr是步进增量(默认值为1,若增量为1,可以忽略不写),last代表最后一个值要小于last
冒号运算符经常与转置运算符(’)结合使用,用来初始化列向量和更复杂的矩阵。
x=1:2:10
f=[1:4]
g=[1:2:9]'
h=[f' f']
e=[1:5;2:3:15;-2:0.5:0]
运行结果:
3、使用内置函数初始化
函数zeros用于创建任何大小的全零数组;
函数ones用于生成全1数组;
函数eye用于生成单位矩阵(所有对角线元素为1,非对角线元素为0);
函数size返回数组中的行数和列数。
a=zeros(2)
b=zeros(2,3)
c=[1 2;3 4];
d=zeros(size(c))
运行结果:
用于初始化变量的常用MATLAB函数
函数 | 作用 |
---|---|
zeros(n) | 生成n*n大小的全0矩阵 |
zeros(m,n) | 生成m*n大小的全0矩阵 |
zeros(size(arr)) | 生成与arr大小相同的全0矩阵 |
ones(n) | 生成n*n大小的全1矩阵 |
ones(m,n) | 生成m*n大小的全1矩阵 |
ones(size(arr)) | 生成与arr大小相同的全1矩阵 |
eye(n) | 生成n*n大小的单位矩阵 |
eye(m,n) | 生成m*n大小的单位矩阵 |
diag(V) | 生成对角矩阵,V为一个行向量,向量中元素的个数等于行数 |
length(arr) | 返回向量的长度,或二维数组的最长维数 |
size(arr) | 返回arr的行数和列数 |
三、二维数组元素的访问
A=[1 21 6;5 17 9;31 2 7]
% 数组在内存中存储是按列存储
a=A(8)
% A(1) A(3) A(5)成了一个一维数组
b=A([1 3 5])
% A(1)A(2)为第一行;A(1)A(3)为第二行
c=A([1 2;1 3])
% 数组A中第三行第二列的元素
d=A(3,2)
% [1 2]为行;[1 3]为列;把第一行第二行圈起来,把第一列第三列圈起来,交集即为结果
e=A([1 2],[1 3])
运行结果:
A=[1 21 6;5 17 9;31 2 7]
% a为A的第三行所有元素
a=A(3,:)
% 删除A的第三行
A(3,:)=[];
A
运行结果:
四、常用的数组和矩阵运算
常用的数组和矩阵运算
运算 | MATLAB形式 | 说明 |
---|---|---|
数组加 | a+b | 数组加和矩阵加是相同的。a、b两者结构相同,对应元素相加 |
数组减 | a-b | 数组加和矩阵减是相同的。a、b两者结构相同,对应元素相减 |
数组乘 | a.*b | a和b逐元素相乘。两者结构相同,或其中之一为标量 |
矩阵乘 | a*b | a和b的矩阵乘法。a的列数等于b的行数 |
数组右除 | a./b | a和b逐元素相除:a(i,j)/b(i,j)。两者结构相同,或其中之一为标量 |
数组左除 | a.\b | a和b逐元素相除:b(i,j)/a(i,j)。两者结构相同,或其中之一为标量 |
矩阵右除 | a/b | 矩阵右除定义为a*inv(b),其中inv(b)为矩阵b的逆运算 |
矩阵左除 | a\b | 矩阵左除定义为inv(a)*b,其中inv(a)为矩阵a的逆运算 |
数组幂 | a.^b | a和b逐元素求幂。两者结构相同,或其中之一为标量 |
转置矩阵 | a’ | a的行列互换 |
增广矩阵 | [a b] | a(m * n1) 和 b(m * n2)的行数相同,生成新矩阵c(m*(n1+n2)) |
MATLAB中的数组相关推荐
- 如何对matlab中的数组取平均值
在MATLAB中,可以使用mean函数对数组取平均值.例如,如果想要对一个名为A的数组取平均值,可以使用以下命令: average = mean(A); 这将计算A数组中所有元素的平均值,并将结果存储 ...
- matlab中cell数组用法
第一次接触cell数据是因为做一个数据处理时由于数据量太大excel的vlookup奔溃而数据库不熟练只能硬着头皮强行导入matlab匹配,其中有一列数据为年月日时分秒,还好matlab有cell数组 ...
- MATLAB中定义数组序列,matlab怎么定义一个数组
A=[]; n=input('n=');%数组的长度 for i=1:n fprintf('a%.0f=',i); x=input('');%分别输入各个数的值 A=[A,x]; end A 就可以得 ...
- matlab中统计数组中各数字(元素)出现的次数
1. tabulate 调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计数值型数组中各元素出现的频数.频率. >> x = [2 2 6 ...
- matlab单元数组和结构,Matlab中单元数组和结构数组
前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储着四种不同的数据类型,分别为数组.字符 ...
- MATLAB中字符串数组的文件输出
MATLAB是用二维数组来保存字符串数组的.将一个字符串数组加一列实数数组,输出到文件. clear clc%字符串数组 str = [ '01-May-1998 01:00:00' '01-May- ...
- matlab 数组限制,在MATLAB中,数组必须先定义其大小后才能使用
在教学中利用google.中组必百度等搜索引擎获取相关资源体现了信息技术在教学应用中的什么功能? 数使用"只能看不能读的奇文"是由________创作的. 赵元任录制的<国语 ...
- matlab中定义数组
- matlab中遍历数组元素
- matlab怎么输入二维数组,[转载]matlab中数组的输入
1 matlab中数组的输入 在matlab中写数组,直接输入元素的数组,应用中括号[],成行向量时,元素之间用空格或逗号隔开,成列向量时,分列处用分号隔开,也可以对相应行向量作转置,为在中括号外加单 ...
最新文章
- 第八届全国大学生智能汽车竞赛获奖名单
- 使用 GetStartupInfo 检查自己是否被调试
- 【Android 异步操作】手写 Handler ( 总结 | Message | MessageQueue | Looper | Handler ) ★
- 51CTO,什么情况?
- No plugin found for prefix ‘compile‘ in the current project
- android 中Dialog对话框及自定义Dialog的方法
- Docker快速搭建JIRA缺陷管理平台
- python的一些库(模块)集合
- The valid characters are defined in RFC 7230 and RFC 3986问题
- 移除加密的pdf文件密码
- 频频被关注的 AI,怎样才能用着舒心?
- 图案、标签、logo
- require-ensure
- 彻底删除双系统的解决办法(UEFI启动)
- Python3 网络爬虫:视频下载,那些事儿!
- 华为网络实验--动态路由器+RIP路由协议配置及验证
- 苹果手机能有软件测试硬件是否给更换过,爱思助手等第三方软件检测靠谱吗?果粉必须了解!...
- 某某文学网站小说爬虫
- 穿越寒冬春暖花开,当下便是在社科院杜兰金融管理硕士项目读研的好时光
- 如何三分钟为小程序打造管理后台