How to replace random integers with the alphabet (1=A, 2=B, and so on)
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jaime Vera
el 5 de Feb. de 2018
Comentada: Jaime Vera
el 5 de Feb. de 2018
Hi, Thank you for helping me
I am trying to replace a square matrix of random integers with the alphabet
For instace: A = [1 2; 3 5] should give you A = [A B; C E]
My code is:
clear all; clc;
n = input('Choose your square matrix dimension: ')
N = round((27)*rand(n))
A = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for kk = 1:length(N)*2
N(kk) = A(kk);
end
N
I do not know how to replace the numbers with the alphabet.
Could you help, please?
Thank you very much
Have a nice day.
0 comentarios
Respuesta aceptada
Guillaume
el 5 de Feb. de 2018
An easiest way to generate random integers is to use randi. As for your replacement it's achieved with simple indexing:
n = input('Choose your square matrix dimension: ');
N = randi(26, n);
A = 'A' : 'Z';
%replacement, note that this requires that all N are strictly positive integer:
NewN = A(N)
Más respuestas (1)
Walter Roberson
el 5 de Feb. de 2018
output = repmat(' ', size(N));
and then
output(kk) = A(N(kk));
However, notice that your N includes values that are 0: if the rand() produces a value less than 1/54 then multiplying by 27 would give less than 1/2 and round() of that would be 0.
Ver también
Categorías
Más información sobre Matrices and Arrays 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!