首页 > 编程知识 正文

matlab定义一维数组,MATLAB基础

时间:2023-05-06 06:32:11 阅读:166905 作者:616

变量和数组MATLAB程序的基本数据单位为数组,标量在MATLAB中也作为数组处理

数组可以定义为向量(通常描述为一维数组)或矩阵(通常描述为二维或多维)

访问数组中的元素:数组名+()

MATLAB变量名称命名:以字母开头,可以与字母、数字和下划线一起使用,只有前31个字符有效

区分字母的大小写

强型语言就像c语言一样:

int a; 双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定义4数组时,并不是所有的元素都被定义

c (2,3 )=5

c=

0 0 0 0 0 5为数组中的一个元素赋值,其馀的默认值为零

如果代入数组的元素超过数组的大小,就会创建新的数组。 (国语水平不高,还是matlab初学者,敬请谅解。 读一下代码就知道了。 )

d=[ 1,4 ]

d=

4d(3)=8

d=

1 4 8每个语句最后的分号用于精简命令窗口中的重复变量值

公式替代matlab中的克隆运算符first:incr:last(开始位置、步骤、结束位置)

x=1:2:10

x=

与3579python的切片相似

a=[ 1,2,3,4,5,6,7,8 ] fori ina [ :3360-1 ] 3360 print (I )的结果为8(7(6)5)4)3) 1

但是,Python的第一个是开始位置,第二个是结束位置,最后是步骤

matlab的0.01表示注意

x=(01:01:1 ) pi

%该公式的开始在0.01步为0.01,结束位置为0.1

x=

1~8列

0.03140.06280.09420.12570.15710.18850.21990.2513至10列

0.2827 0.3142替换运算符'(英语单引号) d=[1:5]

d=

1345 h=[ d’]

h=

1345zeros函数(全零矩阵(a=zeros(2) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

a=

如果只有一个0 0 0 0 %参数,则生成n次矩阵,如果给定了m、n这两个参数,则生成mXn矩阵

b=zeros (2,4 ) ) ) ) ) ) ) ) ) b ) ) ) ) ) b ) ) ) b ) ) ) b ) ) ) ) b ) ) ) ) b ) ) ) ) ) b ) ) ) ) b ) ) ) ) ) 652 ) ) ) ) )

b=

0000000ones(n ) and one(m ) m,n )用一个参数生成n次矩阵

生成两个参数,mXn矩阵,eye函数相同

创建完整1矩阵

a=ones(3)

a=

111111111 a=ones (3,4 ) ) ) ) ) ) ) ) ) ) ) ) 111111111 a ) ) ) ) ) )。

a=

11111111111b=eye(2) ) ) )

eye(n ) and eye(m ) m,n )生成单位矩阵

b=

1001 b=eye (2,3 ) ) ) ) ) ) ) ) 1001 b=eye (2,3 ) ) ) ) ) ) 1001 b=eye (2,3 ) ) )

b=

1 0 0 0 1 0矢量或数组的长度(取最大值) length(b ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

ans=

3 size (矩阵大小) size

(b)

ans =

2 3 矩阵、数组、向量

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

A =

1 2 3 4 5 6

B=[1,2,3,4]

B =

1 2 3 4

C=[B’]

C =

1 2 3 4

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

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

c =

1 2 3 4 5 6

whos c
Name Size Bytes Class Attributes

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

1 2 3 4 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 3 4 5 6 7 8 910 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 3 4 5 6 7 8 910 11 12

a(:,1:2:3)

ans =

1 3 4 6 7 910 12

a(:,1:3:3)

ans =

1 4 710

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 =

1 4 710

a(:,2)

ans =

2 5 811

a(:,3)

ans =

3 6 912

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

end函数

a

a =

1 2 3 4 5 6 7 8 910 11 12

a(3:end,3:end)

ans =

912

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

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


将会从下标为3的元素开始直到结束

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

a

a =

1 2 3 4 5 6 7 8 910 11 12

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

1 22 33 4 55 66 7 88 9910 11 12

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。