How can I add on to y in a for loop? Insert zeros into vector. cody question
1 次查看(过去 30 天)
显示 更早的评论
The code returns 5 0 0.
I used the debugger. The for loop made 1 0 0; 2 0 0;....; 5 0 0
The goal is to return y = [1 0 0 2 0 0 3 0 0 4 0 0 5 0 0]
x = [1 2 3 4 5];
n = 2;
% zero = zeros(1,n)
% [x(1) 0 0 x(2) 0 0]
y = [];
zero=zeros(1,n);
% How can I combine y?
for i = 1:1:length(x)
y = [x(i),zero]
end
1 个评论
采纳的回答
Jan
2018-8-5
编辑:Jan
2018-8-5
A hint:
y = [1,2,3]
Then how do you create this output:
[1,2,3,6,7,8]
? Do you see it? You need to include the former value of y.
Another idea:
Create the vector of zeros at first, which has (n+1)*length(x) elements. Then use this as index:
1 + (0:length(x)-1)) * (n + 1)
or equivalently (find out, why this creates the same result!)
1:(n+1):length(y)
when y is the created vector of zeros.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!