How can I set a matrix value to equal a non-numeric coordinate?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
For example, if part of a matrix equals 3, I want that coordinate to be (a,b). Then I want to be able to use that coordinate to change other values, such as writing (a,b+1)=4, to change the value in the next column to 4, or (a-1,b)=7 to change the value in the row above to 7.
Thanks.
This is what I've attempted and doesn't work:
clear, clc
x = randi(10,10);
x(x==3) = x(a,b);
Undefined function or variable 'a'.
Error in Lab4 (line 4)
x(x==3)=x(a,b);
1 comentario
Respuestas (1)
madhan ravi
el 17 de Mayo de 2019
Editada: madhan ravi
el 17 de Mayo de 2019
[a,b]=find(x==3)% I don't see the point of this if your assigning the same value
x==3 % is already sufficient and efficient for indexing
2 comentarios
madhan ravi
el 17 de Mayo de 2019
Editada: madhan ravi
el 17 de Mayo de 2019
What is that your trying to do ? Write your expected result explicitly with a 3 by 3 matrix. the expression a-1 will error out if a is one.
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!