How to plus between indices?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Vec = [0 -0 0 -0 0 0 0 0 1 0 0 0 -0 3 4 0 -0 0 0]
First step find non-zero value.
[Vecindex] = find(abs(Vec)>0)
Vecindex= 9 14 15
Q1. How to plus between indices?
- 1+0 (indices is 9 and 10)
- 3+4 (indices is 14 and 15)
4 comentarios
Guillaume
el 16 de Mayo de 2016
Note that
find(Vec) %no need for abs(Vec)>0
is sufficient to find the indices of non-zero values
Also note that matlab does not have a concept of negative zero.
Finally, what should happen with:
Vec = [0 1 0 0 3 4 6 0 0]
Are the 3 4 6 all summed together or just 3 and 4?
Roger Stafford
el 16 de Mayo de 2016
@Guillaume: Actually, because most computers that run Matlab adhere to the 754 IEEE Standard for Binary Floating-Point Arithmetic, these do have the concept of a negative zero. You can tell the difference between the two kinds of zero by dividing 1 by them. A plus zero will give inf and a minus zero will produce -inf. Also fprintf will exhibit a minus sign on minus zero. Using format hex also reveals the difference.
Respuestas (1)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!