Afficher commentaires plus anciens
I have vector A =
Columns 1 through 5
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Columns 6 through 10
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Columns 11 through 15
1.4602 1.4606 1.4609 1.4612 1.4615
0 0 0 0 0
0 0 0 0 0
Columns 16 through 20
1.4619 1.4622 1.4625 1.4629 1.4632
0 0 0 0 0
0 0 0 0 0
Column 21
1.4635
0
0
Why does
diff(A) =
ans =
Columns 1 through 5
0 0 0 0 0
0 0 0 0 0
Columns 6 through 10
0 0 0 0 0
0 0 0 0 0
Columns 11 through 15
-1.4602 -1.4606 -1.4609 -1.4612 -1.4615
0 0 0 0 0
Columns 16 through 20
-1.4619 -1.4622 -1.4625 -1.4629 -1.4632
0 0 0 0 0
Column 21
-1.4635
0
diff(A(1,:)) =
ans =
Columns 1 through 5
0 0 0 0 0
Columns 6 through 10
0 0 0 0 1.4602
Columns 11 through 15
0.0003 0.0003 0.0003 0.0003 0.0003
Columns 16 through 20
0.0003 0.0003 0.0003 0.0003 0.0003
give different result?
4 commentaires
Andrei Bobrov
le 23 Juil 2011
doc diff
Lizan
le 23 Juil 2011
Andrei Bobrov
le 23 Juil 2011
diff(A,[],1)) % difference row-wise
Daniel Shub
le 23 Juil 2011
of course it did because you are not reading the documentation of diff. The [] is important. The first argument to diff is the matrix, the second is the order of the difference. You want this to be 1, which is the default so [] works or you could use 1. The third argument is the dimension over which to take the difference. Since you want the difference across rows, you want 2. Grab a pencil and paper and see which one you want.
Réponse acceptée
Plus de réponses (1)
Lizan
le 23 Juil 2011
0 votes
Catégories
En savoir plus sur Mathematics dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!