Creation of new column

3 vues (au cours des 30 derniers jours)
Pap
Pap le 20 Mar 2011
I have an input file (ex.txt) which contains three columns
0 0 0
1 2 5
2 3 6
3 4 4
4 1 3
6 4 8
5 2 9
2 5 5
I need to save the sum of the previous row columns into a fourth column in the input txt file, in order to look like
0 0 0
1 2 5 0
2 3 6 8
3 4 4 11
4 1 3 11
6 4 8 8
5 2 9 18
2 5 5 16
Any Hint?
Panos

Réponse acceptée

Paulo Silva
Paulo Silva le 20 Mar 2011
%code
a=[0 0 0
1 2 5
2 3 6
3 4 4
4 1 3
6 4 8
5 2 9
2 5 5]
b=[0;sum(a,2)];
c=[a b(1:end-1)];
%result
c =
0 0 0 0
1 2 5 0
2 3 6 8
3 4 4 11
4 1 3 11
6 4 8 8
5 2 9 18
2 5 5 16
  7 commentaires
Pap
Pap le 21 Mar 2011
Thanks Paulo,
How can I put in the above code the argument that if the value of current row (third column) is equal to the value of previous row and previous value of column 4 is 'BUY' then put BUY and if it is SELL ( otherwise) put 'SELL'.
Also where do you define 1,0 ( in order to change it to BUY SELL).
And may I also ask which code defines the first value only of cilumn 4, in order to apply then the above code.
Thanks a lot for the great help.
Pap
Pap le 21 Mar 2011
Note that your data set is different from the above ( actually is my first one. The latest one has a case where two elements of column thre are equal and thus someone has to examine the previous value of column four)

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 20 Mar 2011
Hints: fopen, textscan, fprintf,
You will not be able to do this in a single output (not in any clean manner), as you cannot construct a numeric array that has a different number of columns.
You appear to be missing a final output line that has just a 12 by itself, representing the sum of the three values on the last line of the input file.
  1 commentaire
Pap
Pap le 20 Mar 2011
Thanks for the answer Walter.
Actually I don't mind missing the final output line.
Panos

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by