changing values in a certain column of a matrix
60 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a large matrix and in the fifth column I want to replace every value of 990 with 30.375, how could I do this easily? I found many similar questions but not exactly the same one and I tried to adapt the solutions to my situation but it hasn't worked yet..
3 commentaires
DGM
le 2 Oct 2025
See also:
For example, assigning an entire row or column using a vector of equal length:
A = magic(4) % we have a 4x4 matrix
A(3,:) = [2 4 6 8] % assign values to a row
A(:,3) = [2 4 6 8] % assign values to a column
For another example, use linear indexing to assign a value to the nth element:
A(6) = 100 % ordering is column-major
Réponse acceptée
Cedric
le 4 Mai 2014
Modifié(e) : Cedric
le 4 Mai 2014
First, you build a logical index of all values equal to 990 in column 5:
lId = A(:,5) == 990 ;
Then you use it to index relevant elements of A (in column 5), that you set to 30.375:
A(lId,5) = 30.375 ;
Let me know if you need more information.
5 commentaires
Cedric
le 4 Mai 2014
Thank you Image Analyst! Yes, I could have warned, but I always thought that I would be able to come back "within a few days", and I lost track of time!
Dogiparthi Santhosh Gupta
le 4 Avr 2021
Is the same logic applicable on a table with single column.
My problem is 'I have to replace the values of 2,3,4 in a single column of a table to 1' I tried with your logic but getting an error. Kindly suggest the perfect logic by anyone.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!