some basics on MATLAB
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Sivsankar
il 27 Giu 2023
Modificato: Torsten
il 28 Giu 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!