elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  escribir un archivo para después poder leerlo en matlab
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: escribir un archivo para después poder leerlo en matlab  (Leído 2,800 veces)
fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
escribir un archivo para después poder leerlo en matlab
« en: 11 Mayo 2016, 05:22 am »

Hola como dice el titulo, lo que quiero hacer es escribir un archivo  .txt o .dat con números  los números que se escriben en el archivo se sacan de un arreglo previamente cargado, el problema es que no se si mi archivo esta escribiendo bien los datos porque matlab no me lo abre.

a continuación mi código:

Código:
#include <stdio.h>
#include <math.h>
#define PI   3.141592653589
void archivo_matlab(float,float,float,float,float);

void main (void) {
archivo_matlab(1,2,3,4,5);
}

void archivo_matlab(float A,float a,float h,float B,float b) {
float arre1[151],t=0,x=0,y=0;
int i=0;
FILE *fichero;
while (t<=2*PI){
x=A*sin(a*t+h);
arre1[i]=x;
t=t+PI/75;
i++;
}
fichero=fopen("datos1.dat","w");
fwrite(arre1,sizeof(float),151,fichero);
fclose(fichero);
}




En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: escribir un archivo para después poder leerlo en matlab
« Respuesta #1 en: 11 Mayo 2016, 14:27 pm »

Hola estas escribiendo los datos en formato raw o binario oo cual es bueno cuando lo lees desde otro programa igual. pero no recuerdo si matlab necesira los numeros en formato ascii.. esto es el numero como cadena 10.527388  y demas.

Para hacer esto debes de cambiar el fwrite por fprintf y imprimirlos de uno en uno dentro del ciclo donde creas los numeros y mas o menos asi

Código
  1. fprintf(fichero,"%f\n",x);
En dado caso ya no necesitarias el arreglo ademas de abrir el archivo antes de que empieze el ciclo.


En línea

fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: escribir un archivo para después poder leerlo en matlab
« Respuesta #2 en: 11 Mayo 2016, 18:14 pm »

muchísimas gracias... otra cosa:
me podrías explicar estas lineas de código, no las entiendo:

Código:
int main ( int argc, char **argv )



Hola estas escribiendo los datos en formato raw o binario oo cual es bueno cuando lo lees desde otro programa igual. pero no recuerdo si matlab necesira los numeros en formato ascii.. esto es el numero como cadena 10.527388  y demas.

Para hacer esto debes de cambiar el fwrite por fprintf y imprimirlos de uno en uno dentro del ciclo donde creas los numeros y mas o menos asi

Código
  1. fprintf(fichero,"%f\n",x);
En dado caso ya no necesitarias el arreglo ademas de abrir el archivo antes de que empieze el ciclo.
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: escribir un archivo para después poder leerlo en matlab
« Respuesta #3 en: 11 Mayo 2016, 21:43 pm »

¿Si funciono ?

sobre la otra pregunta

Código
  1. int argc, char **argv

Son variables para que el programa pueda manejar los parametros.

En línea

fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: escribir un archivo para después poder leerlo en matlab
« Respuesta #4 en: 12 Mayo 2016, 14:56 pm »

sisi funciono perfecto, gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines