freebrother 发表于 2008-11-8 09:54

请问在matlab中f = f(:)是什么意思,f是一维数组

多谢各位了!

sigma665 发表于 2008-11-8 10:06

回复 楼主 freebrother 的帖子

把现有的数组f全部赋值给f
貌似这样没啥意义,要看前后的语句

freebrother 发表于 2008-11-8 10:52

我刚刚用debug运行了一下,好像就是将f转置了一下,这个语句是在matlab自带的函数中的,我不知道为什么不用f=f.'

花如月 发表于 2008-11-8 11:07

>> a=magic(3)

a =

   8   1   6
   3   5   7
   4   9   2

>> b=a(:)

b =

   8
   3
   4
   1
   5
   9
   6
   7
   2

>> a'

ans =

   8   3   4
   1   5   9
   6   7   2

>> c=1:9

c =

   1   2   3   4   5   6   7   8   9

>> d=c(:)

d =

   1
   2
   3
   4
   5
   6
   7
   8
   9

>> c'

ans =

   1
   2
   3
   4
   5
   6
   7
   8
   9

一个是将向量或者矩阵按列展开结果为列向量;一个是将矩阵或者向量转置,结果仍为矩阵或者向量,不改变size。

像这种东西很容易测试出来,多动手就行了:handshake

[ 本帖最后由 花如月 于 2008-11-8 11:09 编辑 ]

ChaChing 发表于 2008-11-8 11:38

在自编的程序中, 常用来控制输入引数的向量用法
如:输入不管是行向量或列向量, 都可转换成行向量

freebrother 发表于 2008-11-8 12:17

问题解决,多谢大伙了:)

龙入大海 发表于 2008-11-10 21:04

将f转换成列向量
页: [1]
查看完整版本: 请问在matlab中f = f(:)是什么意思,f是一维数组