[surf] Ordre des variables
Bonjour bonjour,
J'essaye de me faire une idée des valeurs que je peux utiliser pour un calcul de coefficient thermique. Il s'agit là de calculs très simples faisables à la main, mais si je sais faire ça, je saurai les complexifier pour arriver à ce que je veux.
Voici l'équation, S et T étant les variables, Sst, Stt et Sss étant connues :
(1) CTE = (Stt.S - Sst.T)/(Sss.T)
Pour simplifier les calculs, disons que Stt=Sss=1 et Sst=2. (ces coefficients sont forcément positifs)
Mon CTE est forcément positif, je voudrais donc savoir quelle est la plage de donnée utilisable pour S et T.
Par un rapide calcul à la main, on en arrive à la conclusion suivante:
(2) Si T>0, CTE>0 <=> S>2T
Si T<0, CTE>0 <=> S<2T
Hors, quand je code ça sous matlab, je n'arrive pas à la même conclusion. Voici mon code, tout d'abord pour (1) en ne gardant que les termes positifs puis pour (2).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sss=1;
Sst=2;
Stt=1;
S=-.5:0.005:.5;
T=-.5:0.005:.5;
L=length(S);
for j=1:L
for i=1:L
CTE(i,j)=(Stt*S(i)-Sst*T(j))/(Sss*T(j));
if CTE(i,j)<0
CTE(i,j)=NaN;
end
end
end
surf(S,T,CTE);
xlabel('Strain')
ylabel('Temperature') |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| for j=1:L
for i=1:L
if T(j)>0
if S(i)>2*T(j)
CTE(i,j)=1;
else CTE(i,j)=NaN;
end
else
if S(i)<2*T(j)
CTE(i,j)=1;
else CTE(i,j)=NaN;
end
end
end
end
figure
surf(S,T,CTE);
xlabel('Strain')
ylabel('Temperature') |
ici, le résultat du second code (j'ai la même chose pour le premier, si ce n'est que j'ai des variations de niveau en z):
http://www.developpez.net/forums/att...1&d=1277386514
Et il semblerait que je ne retrouve pas mon equation (2), mais plutôt:
(3) Si T>0, CTE>0 <=> T>2S
Si T<0, CTE>0 <=> T<2S
J'ai associé à l'indice i la variable S, et à l'indice j la variable T, il me semblerait donc logique de mettre S et T dans le même ordre lors de l'appel de la fonction 'surf'. Mais même quand je les échange, le résultat reste le même.
Donc est-ce que quelqu'un saurait me dire où je me suis planté dans l'affichage de ma fonction ?