Bonjour,
Désolé de ma longue absence sur le forum. J'ai eu pas mal de travail ces derniers temps donc je venais juste pour consulter les nouveautés de temps en temps...
J'aurais besoin de votre aide encore une fois. En fait j'ai trouvé une solution pour mon maillage mais je rencontre quelques problèmes. Voilà mon code :
Et voilà ma fonction de maillage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function maille(obj,event) m = getappdata(0,'formes'); % Récupération de la matrice m qui contient les formes [p,t]=distmeshnd(@maillage,@huniform,3,[-20,-20,-20;20,20,20],[]); end
Je ne comprend pas vraiment comment se fait le passage de paramètres ici. Est ce que vous pourriez m'expliquer? Parce que quand j'essaye de lancer ça, Matlab me dit :
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 function d=maillage(p,m) taille = size(m); % taille est une matrice de type [nbLignes nbColonnes] nbLignes = taille(1,1); % On récupère le nombre de lignes contenu dans taille(1,1) for i = 1:nbLignes if i==1 r=sqrt(p(:,1).^2+p(:,2).^2); z=p(:,3); d1=r-20; d2=z-20; d3=-z-20; d4=sqrt(d1.^2+d2.^2); d5=sqrt(d1.^2+d3.^2); d=dintersect(dintersect(d1,d2),d3); ix=d1>0 & d2>0; d(ix)=d4(ix); ix=d1>0 & d3>0; d(ix)=d5(ix); else r=sqrt((p(:,1)+5).^2+(p(:,2)-6).^2); d1=r-6; d2=z-20; d3=-z-20; d4=sqrt(d1.^2+d2.^2); d5=sqrt(d1.^2+d3.^2); dinter=dintersect(dintersect(d1,d2),d3); ix=d1>0 & d2>0; dinter(ix)=d4(ix); ix=d1>0 & d3>0; dinter(ix)=d5(ix); d=ddiff(d,dinter); end end end
Merci d'avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ??? Input argument "m" is undefined. Error in ==> maillage at 2 taille = size(m); % taille est une matrice de type [nbLignes nbColonnes] Error in ==> distmeshnd at 43 p=p(feval(fdist,p,varargin{:})<geps,:); Error in ==> simulation>maille at 342 [p,t]=distmeshnd(@maillage,@huniform,3,[-20,-20,-20;20,20,20],[]); ??? Error while evaluating uicontrol Callback
Partager