some basics on MATLAB
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Q)In a row there are digits like this. how to find the positions greater than zero values in a row is there any instruction please suggest
10 0 25 22 45 0 0 0 0 0 0 1 3 21 after finding i want particular positions to be replace with new integer values only under any
predicted positions(greater than zero values) and remaning all i need to keep 0 value for example
0 0 0 60 0 0 0 0 0 0 0 20 0 0.
0 commentaires
Réponse acceptée
Sivsankar
le 27 Juin 2023
Modifié(e) : Torsten
le 28 Juin 2023
From what I understood from your question I think the following code solves your question
% Define the row of digits
row = [10, 0, 25, 22, 45, 0, 0, 0, 0, 0, 0, 1, 3, 21];
% Find the positions greater than zero values
positions = find(row > 0);
% Create an array of new integer values
new_values = [60, 20]; % Example new integer values
% Replace the values at the identified positions with new integer values
row(positions) = new_values(1:length(positions));
% Keep the remaining positions as zero
row(row == 0) = 0;
% Display the updated row
disp(row)
Note:This code assumes that the number of positions greater than zero values is the same as the number of new integer values provided. If the number of positions is greater, the extra positions will remain as zero. If the number of positions is fewer, the remaining new values will not be used.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical 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!