Addition to specified elements in a vector with for loop to create a new vector
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I am trying to add to specified elements in a vector to create a new one with the new values, however, unfortunately I could not make it...
The addition has been made to all the elements!
clear all;
x=[-7.5 -2.5 2.5 7.5] %
for i=1:3
xx(1,i)=2.5+x(i) % I need the 2.5 added only to [-7.5 -2.5 2.5] and also I need the output to be with the original vector included
% I mean I'd like the output to be
% xx(1,i)= [-7.5 -5 -2.5 0 2.5 5 7.5]
% I know i only = 3 and I need the output to be 9 elements but what can I do ??
end
2 个评论
Korbinian Volgt
2019-11-8
编辑:Korbinian Volgt
2019-11-8
I am not sure what your exact intention is by +2.5, I guess what you want is to have an equally distributed vector with a step of 2.5 instead of 5. In general it's good practice to predefine vectorlength, so one approach would be:
x=[-7.5 -2.5 2.5 7.5];
xx = zeros(1,7);
for i=1:3
xx(1,2*i-1) = x(1,i);
xx(1,2*i) = x(1,i) + 2.5;
end
xx(1,end) = x(end)
But much easier would be to define your vector as equal distributed numbers from your minimum to the maximum value with the stepsize of 2.5:
xx = -7.5:2.5:7.5
采纳的回答
David Hill
2019-11-8
xx=[x(1:3);x(1:3)+2.5];
xx=[xx(:)',x(4:end)];
3 个评论
David Hill
2019-11-8
What elements to you want repeated? I don't understand what you are trying to do. What are you plotting against?
更多回答(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!