Bonjour,
J'essaye de procéder à une itération sur scilab,sans réussite. Voici ce que je voudrais faire avec une boucle:
clear all
clc
x=0.01;
e=0.01;
Esoleil=400;
alpha=0.5;
epsi=0.26;
Tint=0;
Text=0;
Tcarro=(Tint+Text)/2;
Te=273;
hint=4;
hext=4;
k=46;
sigma=5.67E-8;
phiint=alpha*epsi*sigma*Te^4;
phiemis=epsi*sigma*Tcarro^4;
phis=alpha*Esoleil;
B=(hext*Text+phiint+phis-2*phiemis-hint*((e/k)*(-phis-hext*Text+phiemis)-Tint))*(1/(hext+(hint*hext*e/k)+hint));
A=(-phis-hext*(Text-B)+phiemis)/k;
T1=A*x+B
Tcarro=T1+273.15
phiint=alpha*epsi*sigma*Te^4;
phiemis=epsi*sigma*Tcarro^4;
phis=alpha*Esoleil;
B=(hext*Text+phiint+phis-2*phiemis-hint*((e/k)*(-phis-hext*Text+phiemis)-Tint))*(1/(hext+(hint*hext*e/k)+hint));
A=(-phis-hext*(Text-B)+phiemis)/k;
T2=A*x+B
Tcarro=T2+273.15
phiint=alpha*epsi*sigma*Te^4;
phiemis=epsi*sigma*Tcarro^4;
phis=alpha*Esoleil;
B=(hext*Text+phiint+phis-2*phiemis-hint*((e/k)*(-phis-hext*Text+phiemis)-Tint))*(1/(hext+(hint*hext*e/k)+hint));
A=(-phis-hext*(Text-B)+phiemis)/k;
T3=A*x+B
disp ("Température parois soumise au rayonnement solaire: "+string(T3)+"°C")
J'ai essayé de faire une boucle for, mais scilab croit que T est une fonction. or ce que je voudrais faire, est de varier la nom de la fonction suivant n.
T(0)=Tcarro;
for n=1:10
Tcarro=T(n-1);
phiint=alpha*epsi*sigma*Te^4;
phiemis=epsi*sigma*Tcarro^4;
phis=alpha*Esoleil;
B=(hext*Text+phiint+phis-2*phiemis-hint*((e/k)*(-phis-hext*Text+phiemis)-Tint))*(1/(hext+(hint*hext*e/k)+hint));
A=(-phis-hext*(Text-B)+phiemis)/k;
T(n)=A*x+B;
end
Merci de votre aide
un programme sans commentaire est INCOMPREHENSIBLE ...
bref sur scilab la boucle for a pour syntaxe :
for A=1incrémentation):X(n'importe)
t'as un menu aide pour les syntaxes
Dsl de ne pas avoir été assez précis dans ma question.
En fait, j essaye de faire une boucle qui me permettrait de faire une itération. Donc a chaque nouveau calcul, j'utilise le résultat du calcul précédent pour affiner mon résultat.
Dans ma boucle for, j'ai déjà fait ce que vous dites, le problème est plus sur la fonction T, qui en fait n'en est pas une, mais une variable.
J'espere avoir été plus précis, merci de votre réponse en tout cas.
lorsque vous mettez "Tcarro=T(n-1)" vous voulez faire une multiplication ou demander à scilab Tn-1 car cela est différent
dans le deuxième cas vous utilisez un vecteur .
Enfin je n'ai pas trop compris votre demande en fait : votre boucle for sert à quoi exactement ? Une boucle for est toujours faite pour faire plusieurs itérations (répétitions d'une même action)
Je pense que je peux vous aider mais explicitez d'avantage ce que vous recherchez
En fait je demande à scilab de faire Tn-1.
En fait le n de la boucle for, c'est le nombre d'itération, qui permet de calculer n fois le T pour que le résultat converge vers une valeur.
Alors peut-être qu'il faut utiliser autre chose que cette boucle for, mais comme je débute sur scilab, je n'y connais pas grand chose.
Le problème principal que je rencontre est surtout je pense sur le Tn-1. Si vous dites qu'il faut utiliser un vecteur, alors j'aurai un peu besoin d'aide
En tout cas, merci pour votre aide.
Donc si j'ai bien compris cette boucle for sert à donner un resultat avec une meilleure precision à chaque iterations
Pour schematiser : 2.67 =>(boucle for) =2.667 =>(boucle for)2.6667
Dans ce cas là une possibilité est :
Tu initialises ta premiere valeur comme tu l'as fait mais scilab commence le rang par 1 de memoire
Donc on a
T(1)=Tcarro
for n=2:11
Tcarro=T(n-1)
..
End
Ou
T(1)=Tcarro
For n=2:11
...
Tcarro=T(n)
End
C'est pareil que l'autre
Test ça et dis moi si c'est ça que tu veux
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :