Bonjour à tous et merci pour la lecture de mon sujet.

J'ai un problème un programme matlab de simulation d'une couche mince optique. Il est sensé tracé en 2D la transmission de lumière en fonction de la longueur d'onde lambda de celle-ci (de 350 à 1250 nm).
Je l'ai transformé pour qu'il trace une nappe en 3D de la transmission lumineuse en fonction de la longueur d'onde pour chaque pas de variation de l'angle d'incidence en plus (de 0 à 90°) et j'avais fait une programme avec deux boucles imbriquées incluant le traçage mais cela prenait un temps INCROYABLE et je l'ai donc fait vecteuriser par un ami qui travaille chez Scilab.
Mais maintenant le programme ne me trace que quelques courbes, toutes comprises dans la diagonale de mon repère lambda/angle.
A noter que sur scilab la dimension "fine" contenue dans la diagonale a une petite valeur et qu'il est possible de retrouver une nappe en la multipliant dans l'affichage. Cela ne marche pas sous Matlab.

Pourriez vous m'aider à traiter mon problème qui vient soit de l'algo soit de la fonction de traçage.
Je ne peux pas donner le programme complet vue qu'il n'est pas à moi à l'origine mais si c'est un problème d'algo je pense que ça se verra à l'oeil nue.

Merci encore de votre lecture!

Voici des images :

Vue de 3/4:

Nom : fig_34.jpg
Affichages : 194
Taille : 43,4 Ko

Vue de "profil":

Nom : fig_profil.jpg
Affichages : 154
Taille : 76,9 Ko

Vue d'en haut:

Nom : fig_haut.jpg
Affichages : 151
Taille : 43,3 Ko

Et le programme :
__________________

Code matlab : 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
clear;
tic;
%%définition des constantes
 
pas = 50;                                %%pas angulaire et de longueur d''onde
lambda = [350e-9:pas.*1e-9:1250e-9]';
gamma_degv = [0:pas./10:90]';            %%plage de débattement angulaire, matrice transposée.
gammav = (gamma_degv ./180) .*pi;        %%angle d''incidence en radiants
 
ang = max(size(gammav));
lo = max(size(lambda));
 
    tp = zeros(lo, ang);
    Tp = zeros(lo, ang);
    rp = zeros(lo, ang);
    Rp = zeros(lo, ang);
    ts = zeros(lo, ang);
    Ts = zeros(lo, ang);
    rs = zeros(lo, ang);
    Rs = zeros(lo, ang);
 
    for L = 1:ang
        [m111, m112, m121, m122, m211, m212, m221, m222 ] = ABELES_PS(d,n,gammav(L),lambda);
        tp(:, L) = (2 .*qrv) ./(qrv .*m111+(m112 .*qsv) .*qrv+m121+m122 .*qsv);
        Tp(:, L) = ((4 .*qrv) .*qsv) ./((qrv .*m111+m122 .*qsv) .^2-(m121+(m112 .*qsv) .*qrv) .^2);
        rp(:, L) = (qrv .*m111+(m112 .*qsv) .*qrv-m121-m122 .*qsv) ./(qrv .*m111+(m112 .*qsv) .*qrv+m121+m122 .*qsv);
        Rp(:, L) = abs(rp(:, L)) .^2;
 
        ts(:, L) = (2 .*qrv) ./(qrv .*m211+(m212 .*qsv) .*qrv+m221+m222 .*qsv);
        Ts(:, L) = ((4 .*qrv) .*qsv) ./((qrv .*m211+m222 .*qsv) .^2-(m221+(m212 .*qsv) .*qrv) .^2);
        rs(:, L) = (qrv .*m211+(m212 .*qsv) .*qrv-m221-m222 .*qsv) ./(qrv .*m211+(m212 .*qsv) .*qrv+m221+m222 .*qsv);
        Rs(:, L) = abs(rs(:, L)) .^2;
    end
 
 
    %%Affichage polarisation P
    figure(11); 
    plot3(lambda,gamma_degv,real(tp),'r'); hold on; grid on;
    plot3(lambda,gamma_degv,imag(tp),'b'); hold on; grid on; 
    title('transmittance en amplitude, pol=P'); xlabel('lambda (nm)'); ylabel('angle de incidence (°)'); legend('Re','Im');
 
    figure(12);
    plot3(lambda,gammav, Tp,'b'); hold on; grid on; title('transmittance en énergie, pol=P'); xlabel('lambda (nm)'); ylabel('angle de incidence (°)'); 
 
    figure(13);
    plot3(lambda,gamma_degv, real(rp),'r'); hold on; grid on;
    plot3(lambda,gamma_degv, imag(rp),'b'); hold on; grid on;
    title('reflectance en amplitude, pol=P'); xlabel('lambda (nm)'); ylabel('angle de incidence (°)'); legend('Re','Im');
 
    figure(14);
    plot3(lambda,gamma_degv, 1-Tp,'b'); hold on; grid on; title('reflectance en énergie, pol=P'); grid on; xlabel('lambda (nm)'); ylabel('angle de incidence (°)');
 
    figure(15);
    plot3(lambda, gamma_degv, Tp+Rp,'b'); hold on; grid on; title('énergie totale, ref+tran, pol=P');
 
    %%Affichage polarisation S
    figure(21);
    plot3(lambda,gamma_degv, real(ts),'r'); hold on; grid on;
    plot3(lambda,gamma_degv, imag(ts),'b'); hold on; grid on;
    title('transmittance en amplitude, pol=S'); xlabel('lambda (nm)'); ylabel('angle de incidence (°)'); legend('Re','Im');
 
    figure(22);
    plot3(lambda,gamma_degv, Ts); hold on; grid on; title('transmitance en énergie, pol=S'); grid on; xlabel('lambda (nm)'); ylabel('angle de incidence (°)');
 
    figure(23);
    plot3(lambda,gamma_degv, real(rs),'r'); hold on; grid on;
    plot3(lambda,gamma_degv, imag(rs),'b'); hold on; grid on;
    title('reflectance en amplitude, pol=S'); xlabel('lambda (nm)'); ylabel('angle de incidence (°)'); legend('Re','Im');
 
    figure(24);
    plot3(lambda,gamma_degv, 1-Ts,'b'); hold on; grid on;
    title('reflectance en énergie, pol=S'); grid on; xlabel('lambda (nm)'); ylabel('angle de incidence (°)');
 
    figure(25);
    plot3(lambda, gamma_degv, Ts+Rs,'b'); hold on; grid on;
    title('énergie totale trans+ref, pol=S'); grid on; xlabel('lambda (nm)'); ylabel('angle de incidence (°)');
 
toc;