Aller au contenu


Photo
- - - - -

MatLab : programme de simulation neuronal

programmation MatLab

  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 21 décembre 2020 - 09:01

Hello les garçons et les filles.

 

Je cherche simplement à faire tourner le programme d'un chercheur sur MatLab. Quand j'essaie y a des bugs, mais je pense simplement que j'utilise mal le logiciel.

C'est pour voir des ondes cérébrales comme on voit dans la pièce jointe.

 

Voila lien le pour accéder à tous les données de programmes et fonctions pour Matlab

Cortical Oscillator Network Simulations for MATLAB

 

Je n'ose pas demander au chercheur comment faire pour utiliser son propre programme dans MatLab,

car j'aurai des questions bien plus consistantes à lui demander à l'avenir.

 

Merci pour votre bienveilance.

Fichier(s) joint(s)



#2 Ludovic Dille

Ludovic Dille

    Habitué

  • Membres
  • PipPip
  • 185 messages
  • Gender:Male
  • Location:Belgique

Posté 22 décembre 2020 - 09:58

Hello,

J'ai testé les différents fichiers de démo et je n'ai pas eu d'erreur. Quels sont les erreurs que matlab te donne ?

Ludo



#3 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 22 décembre 2020 - 11:42

Salut,

 

Je crois que j'ai pas donner le bon lien, mais c'est pas grave, car c'est le fonctionnement que je dois comprendre. J'utilise Matlab en ligne.

J'ai mis tous les fichiers, dans un fichier nommé Kuramato qui est lui dans un sous fichier,  du fichier MatLabDrive comme on peut voit sur la photo.

Après je clique sur un programme quelconque genre Kuramato2DDemos. 

Et ça fonctionne!!!

 

Bon je finirais ma question cette après midi. Merci le simple fait de me répondre à fait fonctionner le truc. ;)



#4 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 23 décembre 2020 - 02:10

Hello Ludo (si je peux permettre)

 

En fait, j'utilise la version par internet de Matlab ce qui a du faire bugger un truc à un moment.

J'aimerai convertir les programmes et les fonctions des différents fichiers pour l'utiliser sur un logiciel open source: Processing.

J'imagine que c'est long à faire, mais au final on pourra voir comment se forme de manière très graphique et interactive le genre d'effet hallucinatoire que l'on a en prenant des hallucinogènes.

Voilà un exemple en pièce jointe sur ce programme des états de chimères.  C'est la representation de l'espace des phases d'oscillateurs couplés qui bifurquent dans états de chimères (pour être super bref).

Ce programme a été fait par un ingénieur américain qui m'aide, et je pense qu'il s'est inspiré d'un autre étude que la mienne. 

Il s'est inspiré du Mexican Hat. Une fonction qui simule des ondes cérébrales de l'aire visuelle chez le singe.

Si quelqu'un est motivé et pour qui ce n'est trop difficile, je peux lui expliquer les raisons d'un tel programme sur Processing (faire de la musique, des projections sur LED..)

Bonne fêtes à tous!

 

 

 

 

 

Fichier(s) joint(s)



#5 Ludovic Dille

Ludovic Dille

    Habitué

  • Membres
  • PipPip
  • 185 messages
  • Gender:Male
  • Location:Belgique

Posté 25 décembre 2020 - 12:56

Hello,

En soi pour faire la conversion, même si tu as pas trop l'habitude de matlab ça ne devrait pas être trop compliqué. Ce que je ferais c'est regarder les fonctions utilisée (ode45, conv2,...) et regarder si les équivalent existe avec processing.
Par contre quel est l'avantage d'utiliser processing par rapport à un autre outil pour faire du traitement de donnée (du style octave ou bien python) ? Ou bien même avoir une utilisation hybride: Matlab/Python pour calculer tes matrices et Processing pour en faire ce que tu veux après.

Ludo



#6 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 25 décembre 2020 - 08:52

Hello

 

quel est l'avantage d'utiliser processing par rapport à un autre outil pour faire du traitement de donnée (du style octave ou bien python) ? 

 

Je ne veux pas faire du traitement de données. Je veux pouvoir actualiser de temps en temps des fréquences, des phases et la distance ou force de perturbation.  

Donc il me faut un logiciel graphique sur lequel je puisse interagir.

En plus, je pourrai facilement envoyer les données, par exemple la couleur de chaque carré, dans une Arduino pour piloter des LED.

Je mets ici le meme programme avec des cas (qui sont différents arrangements de fréquences et/ou de phases).

En choisissant avec le clavier la touche 9, on aligne les phases, avec la touche a, on les décale, avec les touches 1,2,3,4, on change les fréquences harmonieusement, avec 0 les fréquences sont toutes les mêmes..

Bref, j'ai fait plein de cas, il faut essayer et des fois on trouve des jolis motifs. 

Pourriez vous me dire si les fonctions utilisées dans Matlab existent dans Processing?

 

Merci pour votre aide. 

Fichier(s) joint(s)



#7 Ludovic Dille

Ludovic Dille

    Habitué

  • Membres
  • PipPip
  • 185 messages
  • Gender:Male
  • Location:Belgique

Posté 26 décembre 2020 - 10:02

Alors je n'ai pas tout regardé mais j'ai vu pas mal de fonctions qui sont assez simple qui devraient être dispo ou facile à copier. Mais ils utilisent ODE45 comme intégrateur numérique et il faudrait trouver un équivalent (vu que ODE45 est très robuste mais peut-être que simplement une application de euler explicite est suffisant avec un pas bien choisis).

Et pour le "traitement" de signal, je voulais juste dire qu'on peuti utiliser matlab et python pour produire es matrices à partir d'entrée. Donc avoir processing en tant qu'interface qui envoit les inputs à matlab/python et qui récupère à la fin la matrice pour l'afficher :)

En tout cas bonne chance dans ton projet,
Ludo



#8 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 26 décembre 2020 - 06:31

Et pour le "traitement" de signal, je voulais juste dire qu'on peuti utiliser matlab et python pour produire es matrices à partir d'entrée. Donc avoir processing en tant qu'interface qui envoit les inputs à matlab/python et qui récupère à la fin la matrice pour l'afficher :)
 

Encore qques questions pour voir si je vous ai bien compris:

On peut utiliser Processing pour envoyer les paramètres que l'on souhaite à Matlab qui en retour enverra les données traitées à Processing.

Mais est ce que Processing doit être programmé en Python? ou en Java ça peut fonctionner?

Aussi si je trouve une personne qui écrit une libraire qui ferait le meme calcul que l'ode45, je pourrai utiliser exclusivement Processing?

 

Merci encore.



#9 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 260 messages
  • Gender:Male

Posté 26 décembre 2020 - 09:21

Bonsoir,

petite question : pourquoi veux tu utiliser Processing? Simplement pour te passer de matlab (qui est propriétaire, alors que tu sembles mettre en avant que Processing est open source)?

Si c'est ta seule (ou principale) raison, alors ça vaudrait peut-être le coup que tu regarde du coté de Gnu Octave ou de Scilab, qui sont des clones libres de Matlab. D'après https://opensource.c...rnatives/matlab , il semblerait que Gnu Octave vise une compatibilité "parfaite" du code avec Matlab, alors que Scilab chercherait plus a être une alternative, mais sans viser à être un clone. En tout cas, Scilab est déjà très proche de Matlab (tout est matrice, les indexes de tableaux commencent à 1, ...). Octave, j'ai pas testé, mais d'après le lien, ce serait encore plus proche de Matlab.

Donc si tu cherche seulement à porter ton code vers un logiciel opensource, tu aura probablement beaucoup moins de mal de faire le portage vers Scilab ou Octave, qui sont très proches, que vers un langages complètement différent. 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#10 bvking

bvking

    Membre occasionnel

  • Membres
  • Pip
  • 98 messages

Posté 27 décembre 2020 - 11:34

En fait, je veux absolument utiliser Processing car je peux envoyer des données vers un logiciel qui me permet en temps réel de les transformer en note,  en effet sonore, en déclenchement de piste....

Avec Processing, je contrôle aussi une Arduino. Et pour finir, je contrôlerai un autre logiciel de graphisme.

 

Aussi car un ingénieur m'a deja aidé sur la programmation d'oscillateurs couplés et qu'il a fait (juste sur une simple demande et à l'aide d'un algorithme issue d'une recherche en physique) une libraire pour modéliser des oscillateurs couplés selon la force de couplage et des arrangements différents (inutile ici). 

En fait, Il y a dans sa libraire (inclue dans le programme Processing que j'ai mis plus haut en pj) une fonction, utilisant la méthode Rung-Kutta pour calculer une equation différentielle et qui permet d'avoir les phases de tous les oscillateurs.

Est ce que cette méthode remplace l'ODE 45 de MatLab?

En fait, je me renseigne au maximum avant de lui demander de traduire le programme de MatLab en langage Java pour Processing.

 

Merci 



#11 Ludovic Dille

Ludovic Dille

    Habitué

  • Membres
  • PipPip
  • 185 messages
  • Gender:Male
  • Location:Belgique

Posté 27 décembre 2020 - 03:17

Hello,

ode45, est l'implémentation de la méthode Runge-Kutta d'ordre 5 dans matlab donc je pense que ça pourrait le faire :)






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users