Bonjour à tous je suis nouvelle et ne maitrise pas vraiment Qt, je souhaiterai savoir si il est possible de convertir un code écrit sous Matlab vers Qt . Merci
Bonjour à tous je suis nouvelle et ne maitrise pas vraiment Qt, je souhaiterai savoir si il est possible de convertir un code écrit sous Matlab vers Qt . Merci
Si tu cherches un compilateur qui va produire un joli code utilisant Qt, non. Par contre, tu as des compilateurs vers du C++ (regarde du côté de MATLAB Compiler) ; avec le code généré, il doit être possible d'interfacer une GUI, ce que tu souhaites probablement. Si tu le fais à la main, c'est évidemment à 300 % faisable.
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Merci dourouc05 donc en gros il faut que je réécrive tout le code Matlab sous Qt? le problème c'est que je ne sais pas comment faire
Ce que tu dis n'a pas grand sens. Tu peux réécrire ton code MATLAB en C++ puis l'utiliser avec Qt, ce pour quoi des outils peuvent t'aider.
Si tu n'as pas le compilateur, alors il faudra tout réécrire : tu pars d'une fonction, tu la codes en C++, tu vérifies que ça fonctionne (avec l'écriture de tests, si le cœur t'en dit : QtTest), puis tu pars sur une autre fonction. Tente de d'abord t'occuper de fonctions qui n'ont pas de dépendance, c'est beaucoup plus simple de détecter les erreurs (tu ne dois pas attendre d'avoir tout porté avant de remarquer qu'il y a un truc qui foire). Si tu utilises des fonctions de MATLAB (genre ode45), il faudra les réimplémenter toi-même ou utiliser une bibliothèque qui le fait (NT2, par exemple).
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
D'accord je vais essayer de faire ce que tu me proposes et je te dirai ce que ça donne
Bonjour dourouc05, j'ai essayé de codé en c++ la fonction Matlab et je ne comprend pas les erreurs.
Je t'explique, dans le cadre d'un projet je dois retranscrire un code Matlab ( que je n'ai pas codé et que je ne comprend pas) sous Qt.
Je n'ai pas de Matlab compiler, j'ai donc comme tu me l'avais recommandé, codé en c++. Le problème c'est que je ne comprend pas mes erreurs, et pourtant je sais que c'est un truc tout simple. Si tu peux m'aider stp voici les codes:
ce que j'ai fait en c++:
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 function J=chirpfunction6(n,m,z,lambda) %chirpfunction:fonction à variation linéaire de fréquence %[n,m]:taille de l'image de départ %z:scalaire,distance à l'image %lambda:scalaire,longueur d'onde taillen=n; taillem=m; pas=1e-5;%taille d'un pixel for xi=1:n; for eta=1:m; IIz(xi,eta)=exp(i*pi*(((xi-taillen/2)*pas)^2+((eta-taillem/2)*pas)^2)/(lambda*z)); end end J(:,:)=IIz(:,:); end
En fait ça c'est une fonction en fonction de ce que tu vas modifier je pourrai l'appliquer aux autres fonction. 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
34
35
36
37
38
39
40
41
42 #include <iostream> #include <math.h> using namespace std; double ** chirpfonction(void){ double z; double lambda; int pi=3,14; double pas=1e-5; //taille d'un pixel int tailleLig; int tailleCol; double **tab=new double*[tailleLig]; for (int i=0; i<tailleLig; i++) tab[i]=new double [tailleCol]; for( int i=0 ; i < tailleLig ; i++ ) for( int j=0 ; j < tailleCol ; j++) tab[i][j]=exp(i*pi*(((i-tailleLig/2)*pas)^2+((j-tailleCol/2)*pas)^2)/(lambda*z)); int i, j; for (int i=0; i<tailleLig; i++) delete tab[i]; delete tab; return tab[i][j] ; } int main(){ }
Partager