IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Passage de MATLAB au C


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Passage de MATLAB au C
    salut a tous voila j ai un programme en matlab et je voudrais le convertir en language c,est ce que quelqu un pourait m aider svp,voila le programme.
    meme juste l algorithme m aiderais merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    % Test FFT with wavelet and added random noise
    % TestFFTwithNoise.m L Braile 3/18/06
    npts = 200; % Number of points in wavelet
    dt = 0.01; % sample interval (fnyq = 50 Hz)
    freq = 5; % set ~peak frequency of wavelet
    timesh = 0.0; % allow timeshift to center the wavelet
    nsw = 20; % apply cosine bell taper to ends of signal
    s = ricker(npts,freq,dt,timesh,nsw ); % calculate ricker wavelet
    t = [0:dtnpts*dt - dt)];
    noise = 0.1*randn(1,200); % calculate random noise
    s = s + noise; % add random noise to data
    figure
    plot(t,s,'-r','linewidth',1.5)
    set(gca,'fontsize',16,'linewid th',2)
    xlabel('Time (s)','fontsize',16)
    ylabel('Amplitude','fontsize', 16)
    title('Ricker Wavelet','fontsize',16)
    nf = 1024; % set length of fft
    S = fft(s,nf); % calculate FFT of wavelet, the added zeros (nf = 1024)
    % do not change the spectrum (except by providing finer sampling, df)
    % because the zeros don't contribute to the sum of the area in the 
    % Fourier integral
    fnyq = 1/(2*dt); % Nyquist frequency
    df = fnyq/(nf/2); % calculate frequency sample interval
    f = [0:df:fnyq]; % calculate frequency variable (will be (nf/2) + 1 long
    SS = S.*conj(S)/nf; 
    SS = sqrt(SS); % calculate amplitude spectrum
    figure
    plot(f,SS(1nf/2)+1),'-r','linewidth',1.5)
    set(gca,'fontsize',16,'linewid th',2)
    xlabel('Frequency (Hz)','fontsize',16)
    ylabel('Amplitude','fontsize', 16)
    title('Amplitude Spectrum of Ricker Wavelet','fontsize',16)

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 25
    Points
    25

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    merci ,mais je suis geophysicienne de formation je ne sais pa du tout utiliser le matlab qulqu un pourait il m aider avec ce programme je dois le convertir en c

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    La fonction ricker contenue dans le code ci-dessus se trouve ici.

    Ensuite, je ne comprends pas très bien ta question.
    Pourquoi traduire du code MATLAB si tu ne connais pas MATLAB

    Pourquoi ne pas directement chercher des sources en C ?

    Ce genre de question aurait plutôt sa place dans un des forums C
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    C'est juste que je ne trouve pas en C

    Tout ce que j'ai trouvé c'est ce programme en matlab,je suis nouvelle je ne sais pas trop comment marche ces forum merci pour l'aide

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ssarah.z Voir le message
    salut a tous voila j ai un programme en matlab et je voudrais le convertir en language c,est ce que quelqu un pourait m aider svp,voila le programme.
    meme juste l algorithme m aiderais merci
    Le C standard ne te donnera que des possibilités de calcul sur des nombres entiers et flottants...

    Si tu utilises des matrices, il te faudra une librairie d'algèbre linéaire (ou la coder toi-même).

    Si tu utilises des fonctions de traitement du signal (ondelettes, transformée de Fourier), il te faudra une librairie qui contienne la FFT et autres (ou les coder toi-même)

    Etc.

    Donc gros boulot en perspective...

    Si tu veux passer au C pour éviter de payer une licence Matlab, ce serait beaucoup plus facile de passer à Scilab (gratuit), car les plupart des fonctions dont tu as besoin existent déjà dans Scilab...
    Dernière modification par Invité ; 28/12/2007 à 14h11. Motif: Erreurs !!

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    mon gros problème c est que je ne sais pas faire de programation mais je dois traiter un signal sweep pour obtenir son spectre et son graphe et je ne trouve pas le programme aproprié en c

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Tu pourrais faire un effort pour écrire dans un meilleur français -_-
    Il va falloir que tu apprennes un peu le C si tu veux avancer.
    Tu ne veux pas de l'aide, tu veux la traduction.
    À moins qu'une bonne âme ne se dévoue pour le faire à ta place.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Tu pourrais faire un effort pour écrire dans un meilleur français
    Citation Envoyé par Garulfo Voir le message
    ... une bonne âme ne se dévout...
    Effectivement ! (ne se dévoue)
    (je plaisante, ça m'arrive aussi de faire des fautes)

    Citation Envoyé par ssarah.z
    mon gros problème c est que je ne sais pas faire de programation
    Il n'est jamais trop tard pour apprendre, ce n'est pas très compliqué d'arriver à se débrouiller un peu...

Discussions similaires

  1. Passage de Matlab vers C
    Par cjacquel dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/12/2014, 19h54
  2. [MEX] Erreur passage de MATLAB 2006 à MATLAB R2012b
    Par Dombrai dans le forum MATLAB
    Réponses: 11
    Dernier message: 31/05/2013, 11h49
  3. [Débutant] Passage de MATLAB à Tecplot
    Par vivi78 dans le forum MATLAB
    Réponses: 0
    Dernier message: 09/08/2010, 14h15
  4. Réponses: 1
    Dernier message: 06/08/2008, 15h31
  5. Passage Excel à MATLAB
    Par Contractofoued dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 08/08/2007, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo