form a row vector

16 visualizzazioni (ultimi 30 giorni)
Ace_ventura
Ace_ventura il 9 Mar 2015
Commentato: Stephen23 il 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]

Risposta accettata

Michael Haderlein
Michael Haderlein il 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 Commenti
Ace_ventura
Ace_ventura il 9 Mar 2015
Thanks Michael.
Stephen23
Stephen23 il 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);

Accedi per commentare.

Più risposte (1)

Chandrasekhar
Chandrasekhar il 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 Commenti
Jan
Jan il 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 il 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

Accedi per commentare.

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by