Programación Específica > Matlab

 Pasar caracteres numericos a su valor

(1/2) > >>

Richi254:
Hola a todos, tengo un problemilla. Resulta que estoy haciendo un programa en el que tengo que trabajar con unos datos númericos obtenidos de un archivo .txt, el problema es que matlab lo interpreta como caracteres ASCII y yo lo que necesito es su valor. Por ejemplo, del archivo saco un vector (de caracteres) así:

>> vector=
0.01000
251111
020847

cada dígito es interpretado como un elemento del vector(los puntos también) y los retorno de carro como dos espacios en blanco, es decir, si hago:

>>vector(1)
ans=
0

>>vector(11)
ans=
5

pero si hago:
>>vector(1)+1=
ans=
49

O sea, que MATLAB interpreta el valor del código ASCII cuando quiero hacer operaciones con él, pero yo lo que necesitaría es guardar el valor completo en alguna variable, por ejemplo A=0.01000 para poder usar ese valor para realizar otras operaciones con él.

¿Alguien sabría como podría hacer esto?

MUCHAS GRACIAS

allisap:
saludos....

no dices como es que estas leyendo el archivo de texto
pero si lo lees de esta forma


--- Código: Text --- fid = fopen('misdatos.txt'); datos = fscanf(fid,'%f ',[1 inf]);  
tendrias un vector de 1* n datos numericos (flotantes por el modificador %f, usa %d para enteros) y asi ya puedes operarlos como numeros...
espero que te sirva...

Victor Pasilla Campos
Puebla, Mexico

Toph:
Una opcion es convertirlas, checate este enlace http://www.weizmann.ac.il/matlab/techdo ... c_b23.html y revisa las funciones de conversion de datos puede que te sirva alguna  :comp:

allisap:
saludos

no es necesario convertir los datos....
si estan en un archivo de texto se pueden leer directamente como numeros

Victor Pasilla Campos
Puebla, Mexico

Richi254:
Hola Victor:
   Como bien dices, si los datos númericos están en un .txt se pueden extraer. El problema es que como haya sólo una letra ya no lee nada. Sólo los lee poniendo %c, pero claro los interpreta a cada uno como un elemento del vector y además se le asigna el valor del código ASCII.  El archivo del que quiero sacar los datos viene de esta forma:

X100000Y200000*
X200000Y200000*
X250000Y350000*
....

   Entonces yo lo que quisiera es guardar en dos vectores(X e Y,por ejemplo) los datos, de manera que:
>> X
X=
100000  200000  250000 ...

>> Y
Y=
2000000 200000 350000 ...

¿Esto se puede hacer? Si puedes ayudarme, te lo agradezco muchísimo.
GRACIAS DE ANTEMANO.
UN SALUDO.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa