matlab学习笔记-数组
在程序语言中,数组为一个特定的数据类型
文章目录
前言
本文为matlab学习数组总结
一、多维数组
1.什么叫多维数组
A(:,:,1)//第一页二维数组
A(:,:,2)//代表第二页的二维数组。
2、多维数组的建立
直接赋值即可
如:A(:,:,1)=[1,2,3;4,5,6]
3、算术运算
符号".^"为数组中每个元素都进行运算
如:
>>a=1:6
a =
1 2 3 4 5 6
>>b=reshape(a,2,3)
b =
1 3 5
2 4 6
>>a=a.^2
a =
1 4 9 16 25 36
>>b=b.^2
b =
1 9 25
4 16 36
4、关系运算符
Matlab提供了6种关系运算符:
<、>、<=、>=、==、~=(不等于)
其运算结果返回值为布尔值
如:
P = rem(A,3)==0 //被3除,求余,返回结果为0或1
其中rem()函数和mod()函数有区别,例:
>> a=-3;
>> b=mod(a,2)
b =
1
>> b=rem(a,2)
b =
-1
rem()结果返回值(余数)符号同被除数符号相同。
5、各类函数
find()函数
A = [4,15,-45,10,6;56,0,17,-45,0];
find(A>=10 & A<=20) //
A =
4 15 -45 10 6
56 0 17 -45 0
ans =
3
6
7
求向量的最大值和最小值
(1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元
素,则按模取最大值;
(2)[y,l]=max(X):返回向量X的最大值存入y,最大值的序号存入l,
如果X中包含复数元素,则按模取最大值。
对于矩阵
(1)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每
列的最大值,U向量记录每列最大值的行号;
(2)max(A,[],dim):dim取1或2。dim取1时,该函数和
max(A)完全相同;dim取2时,该函数返回一个列向
量,其第i个元素是A矩阵的第i行上的最大值。
求和与求积
同理:
sum(X):返回向量X各元素的和。
prod(X):返回向量X各元素的乘积。
sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。
prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。
sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返
回一个列向量,其第i个元素是A的第i行的各元素之和。
prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,
返回一个列向量,其第i个元素是A的第i行的各元素乘积。
平均值与中值
mean(X):返回向量X的算术平均值。
median(X):返回向量X的中值。
mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。
median(A):返回一个行向量,其第i个元素是A的第i列的中值。
mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,
返回一个列向量,其第i个元素是A的第i行的算术平均值。
median(A,dim):当dim为1时,该函数等同于median(A);当dim为2
时,返回一个列向量,其第i个元素是A的第i行的中值。
二、字符数组
一个字符串可以被看做一个行向量
字符数组创建
str1 = ‘I like MATLAB,’; //建立字串变量 str1
str2 = ' JavaScript, and Perl!'; // 建立字串变量str2
str3 = [str1 str2] //直接连接str1及str2,以建立str3
str3 =
I like MATLAB, JavaScript, and Perl!
字符判断
class() 或 ischar() 指令: 可以用来判断一个变量
的类型或它是否为字符串变量
字符串
str1 = 'today';
str2 = 'tomorrow';
str3 = 'today';
out1 = strcmp(str1, str2) //比较字符串 str1 和 str2
out1 = 0 //表示字符串 str1 和 str2不同
out2 = strcmp(str1, str3) //比较字符串 str1 和 str3
out2 = 1 //表示字符串 str1 和 str2相同
三、元胞数组
创建方法:
cell函数
赋值语句
显示元胞数组的内容:
celldisp(a) //显示全部内容
cellplot(a) //图形方式显示元胞数组的结
读取b{1, 2}的第3行、第1列的数据。
e = b{1,2}(3,1)
e =5