请问matlab中f=f(:)什么意思
发布网友
发布时间:2022-05-13 14:10
我来回答
共3个回答
热心网友
时间:2023-10-11 21:06
f(:,1)就是取f
矩阵的第1列。
f=[1,2,3;
3,4,6;
7,8,9]
f(:,1)
matlab中冒号的用法总结:
1)a:b
表示[a,a+1,……,b]
>>
a=1:5
a
=
1
2
3
4
2)当然如果b-a不是整数的话,则向量的最后一位数是n+a,且n=fix(b-a)
>>
a=1.2:4.9
a
=
1.2000
2.2000
3.2000
4.2000
3)上面的前提是a
b则会出现空值
>>
a=5:1
a
=
empty
matrix:
1-by-0
此时
a是空矩阵,看workspace也可以看到a
4)a:c:b表示[a,a+c,……,a+n*c],其中n=fix((b-a)/c)
>>
a=1:3:11
a
=
1
4
7
10
5)a:c:b在以下情况为空值
c>0,且a
b
>>
a=11:3:1
a
=
empty
matrix:
1-by-0
6)a(:)表示以一列的方式显示a中所有元素
>>
a=[1
2
3;4
5
6]
a
=
1
2
3
4
5
6
>>
a(:)
ans
=
1
4
2
5
3
6
7)b=a(i,
:)表示把矩阵a的第i行存入b
>>
b=a(1,:)
b
=
1
2
3
8)b=a(
:,j)表示把矩阵a的第j列存入b
>>
b=a(:,1)
b
=
1
4
9)b=a(j
:k)表示把矩阵a中[a(j),a(j+1),...,a(k)]这些元素存入b中
>>
b=a(3:5)
b
=
2
5
3
10)b=a(:,c:d)表示把矩阵a的第c到第d列存入b中,当然c,d大于a的列数则出错(b=a(c:d,:)表示取行)
>>
a=[1
2
3;4
5
6;7
8
9]
a
=
1
2
3
4
5
6
7
8
9
>>
b=a(:,2:3)
b
=
2
3
5
6
8
9
热心网友
时间:2023-10-11 21:06
将矩阵f的每一列元素堆积起来,成为一个列向量,而这也是MATLAB变量的内部储存方式。例如:
A=[-45 65;87 64;23 54];
B=A(:)
B=
-45
87
23
65
64
23
54
热心网友
时间:2023-10-11 21:07
表示矩阵重拍,f变成一位向量。