Matlab里面的for循环其实本质上更类似于Perl和Ruby
不过由于大部分用matlab的人是受的C语言教育,甚至没有编程基础,所以一般来说,对for的实用几乎全是最基本的C方式
基本就是把
for(i=n;i<m;i++){
...
}
替换成
for i=n:m-1
...
end
稍微复杂一点,也无非就是i=m:-1:n或者i=1:k:n这类的东西。但是归根到底都是完全的C风格---可以在C下面找到简单的对应语句
但是如果认真的分析一下matlab的for语句结构
for i=1:n
~~~这个写法如果单独拿出来看是不是很眼熟-----这其实是一个数组。
换句话说,matlab其实和perl一样,是在对“数组元素”进行循环,而不是C那样简单的对数字进行循环。只不过是一般习惯上我们喜欢用1:n这样的简单的全部由数字组成的数组作为循环对象,以使其产生和C下面完全一样的效果。
But that's not necessarily the case, 如果去掉这个限制,matlab的循环功能可以实现更自由的功能,下面只是一些非常简单的小实验,至于什么地方能用的上,相信看过以后你自然会有感觉
A=[1 3 ;4 2]
for i=A
i
end
A={'First','Second'}
for i=A
i
end
A='T NN'
for i=A
i
end
A =
1 3
4 2
i =
1
4
i =
3
2
A =
'First' 'Second'
i =
'First'
i =
'Second'
A =
T NN
i =
T
i =
i =
N
i =
N
2007年10月22日星期一
Matlab里面使用元素循环
订阅:
博文评论 (Atom)
0 comments:
发表评论