Matlab - convertir character a un vector

 
Vista:

convertir character a un vector

Publicado por nazareno (14 intervenciones) el 05/05/2011 15:20:44
hola gente, acá esta mi pregunta: quiero generar unos números binarios y tomar sus componentes para operar como si fueran vectores. o sea, uso el comando t=dec2bin(0:3) q me genera un char 't' donde están los números 0 a 3 en formato binario así:

00
01
10
11

pero no lo puedo usar como vectores (necesito operar con eso), por ejemplo si hago:
t(2,:)*1 me responde
ans
48 49

donde t(2,:) es 01

yo quisiera tener una matriz de 4 filas por 2 columnas con la cual poder operar. alguien sabe como?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

convertir character a un vector

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/05/2011 16:13:45
HOla Nazareno.
Estos son los pasos para convertir tu matriz char a matriz numerico de 4 filas y 2 columnas.
La funcion str2num() convierte char a numeros.

>> t=dec2bin(0:3);
>> T(:,1)=str2num(t(:,1));
>> T(:,2)=str2num(t(:,2));
>> T
T =

0 0
0 1
1 0
1 1


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

convertir character a un vector

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/05/2011 16:18:56
HOla Nazareno.
Mas optimizado.

>> t=dec2bin(0:3);
>> T=[str2num(t(:,1)) str2num(t(:,2))]
T =
0 0
0 1
1 0
1 1


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

convertir character a un vector

Publicado por nazareno (14 intervenciones) el 05/05/2011 17:47:48
muchas gracias jose. acá pongo una conclusión basándome en tu ayuda, para el caso q quiera convertir cualquier cantidad de números:

n=4 % el numero mayor q quiero convertir
t=dec2bin(0:n)
for i=1:size(t,2)
T(:,i)=str2num(t(:,i));
end

muy bien, eso me tira una matriz donde aparecen arreglados como vectores, los números en forma digital. creo q todo esto se hubiera podido hacer con la función dec2binvec, pero por alguna razón no esta andando en mi versión de matlab (en la pagina de matlab dice q esta función no anda en so de 64bit, sera eso? yo estoy con la versión 7.7.0R2008b en linux 64bit)

saludos y muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar