form a row vector

10 views (last 30 days)
Ace_ventura
Ace_ventura on 9 Mar 2015
Commented: Stephen23 on 9 Mar 2015
I have to form a row vector x=[5 6 16 17 27 28 38 39....] till the total number of elements become 'n' where 'n' is entered by the user. Say, I enter n=4 so my x=[5 6 16 17]
basically what I want is that if I have two numbers say, X and Y and I wish to give some increment to these numbers to form a row matrix containing 'n' elements. Say, increment is 3 and n is 6 A=[X Y X+3 Y+3 X+6 Y+6]
  1 Comment
akshata k
akshata k on 9 Mar 2015
for i=1:n
x1(1,n)=x(1,n);
end

Sign in to comment.

Accepted Answer

Michael Haderlein
Michael Haderlein on 9 Mar 2015
First, get all the X+... and Y+... separately and get them into the correct order then (Activate the commented % to stop the output as it's only for educational reasons here):
>> inc=11;X=5;Y=6;
>> N=3;
>> Z=[X+(0:N-1)*inc;Y+(0:N-1)*inc] %; %first row: X+..., second row: Y+...
Z =
5 16 27
6 17 28
>> Z(:)'
ans =
5 6 16 17 27 28
  2 Comments
Ace_ventura
Ace_ventura on 9 Mar 2015
Thanks Michael.
Stephen23
Stephen23 on 9 Mar 2015
To get the output to be length N, as the original question requested, try this:
>> inc = 11;
>> X = 5;
>> Y = 6;
>> N = 3;
>> Z = inc*(0:N/2);
>> Z = [X+Z; Y+Z];
>> Z = Z(1:N);

Sign in to comment.

More Answers (1)

Chandrasekhar
Chandrasekhar on 9 Mar 2015
x = [5 6 16 17 27 28 38 39....]
n = input('enter the total number of elements');
x = x[1:n];
disp(x);
  4 Comments
Jan
Jan on 9 Mar 2015
@Jeff: What have you tried so far and which problems occur? It is much easier to answer, if you show us what you have done so far.
Ace_ventura
Ace_ventura on 9 Mar 2015
x=5;y=6;
a=(x:2:10);
A=a';
b=(y:2:11);
B=b';
c=horzcat(A,B)
c =
5 6
7 8
9 10
>> d=c(:)'
d =
5 7 9 6 8 10
but now I have got it

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!