Addition to specified elements in a vector with for loop to create a new vector

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 commentaires

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
Hi Korbinian,
actually david has answered what I meant, however,I have been trying to have output of 9 elements because later I will use this vector in plot...
I mean I need some of the elements to be repeated like the following:
[-7.5 -5 -2.5 -2.5 0 2.5 2.5 5 7.5]
Hope you understand, and try to help me!

Connectez-vous pour commenter.

 Réponse acceptée

xx=[x(1:3);x(1:3)+2.5];
xx=[xx(:)',x(4:end)];

3 commentaires

Hi David,
it's totally fine, but may I ask you for something more:, actually I'd like to have output of 9 elements because later I will use this vector in plot...
I mean I need some of the elements to be repeated like the following:
[-7.5 -5 -2.5 -2.5 0 2.5 2.5 5 7.5]
Hope you understand, and try to help me!
What elements to you want repeated? I don't understand what you are trying to do. What are you plotting against?
Hi,
Thanks for your prompt reply.
I will plot them aganist vector of 9 elements, I would like to repeat element no#: 3 and 6
so it's -2.5 and 2.5.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by