some basics on MATLAB
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
rajesh kumar
el 27 de Jun. de 2023
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 comentarios
Respuesta aceptada
Sivsankar
el 27 de Jun. de 2023
Editada: Torsten
el 28 de Jun. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!