Dan*_*l N -1 matlab for-loop function
我编写了一个简单的函数,它接受向量vec,遍历它,执行一个操作,其结果存储在相同索引的相同大小的另一个向量vecRes中,并在完成循环时返回vecRes.以下是功能代码:
function [ vecRes ] = squareTerms( vec )
vecSize = size(vec);
vecRes = zeros(vecSize);
for i = 1:vecSize
vecRes(i) = vec(i)^2;
end
end
Run Code Online (Sandbox Code Playgroud)
问题是它似乎退出得太早,事实上只有一次迭代,因为输出显示为:
vecRes = 1 0 0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
输入:
vec = 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么会这样做.任何帮助是极大的赞赏.
大小返回2个值,行和列.可能你是一个1xN向量.因此大小返回[1 N]并且您的循环运行1次.
>>> size ([1 2 3])
>
> ans =
>
> 1 3
>
>>> 1:size ([1 2 3])
>
> ans =
>
> 1
Run Code Online (Sandbox Code Playgroud)