Addition to specified elements in a vector with for loop to create a new vector
1 view (last 30 days)
Show older comments
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 Comments
Korbinian Volgt
on 8 Nov 2019
Edited: Korbinian Volgt
on 8 Nov 2019
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
Accepted Answer
David Hill
on 8 Nov 2019
xx=[x(1:3);x(1:3)+2.5];
xx=[xx(:)',x(4:end)];
3 Comments
David Hill
on 8 Nov 2019
What elements to you want repeated? I don't understand what you are trying to do. What are you plotting against?
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!