Bonjour le forum,
Je souhaite avoir des informations pour tracer un vecteur SVP.
Je sais, c'est pas bien compliqué, normalement
En effet, si le code est le suivant:
Dans ce cas simple, il suffit d'entrer la ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 x=linspace(0,0.0001,1000) //définition des divers paramètres utiles par la suite c=b*erfc(x./(2*sqrt(D*t*3600)))
et la figure apparait sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part plot2d(x, c,logflag="nl",frameflag=1,rect=[0,1e16,0.0001,1e22])
Le problème qui se pose à moi est que j'effectue une boucle "for", car le paramètre D est fonction de c. Mon code est le suivant:
Le code "fonctionne" bien dans le sens où pour chaque valeur de "x(i)", le paramètre D est calculé en fonction de "c(i-1)". Par contre, le graphique tracé est "vierge". Je pense que le plot ne me trace que le dernier point c calculé. Est le cas?
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 // essai de simulation de diffusion //entree des divers données de la diffusion t=input("Please, enter the diffusion time (heure):"); cs1=input("boron surface concentration:"); Tcelsius=input("Please, enter the diffusion temperature:"); T=Tcelsius+273.15; b=cs1 xbasc() //efface le graph //calcul de gap, de ni pour le calcul de D Ea=-3.46;q=1.60217733e-19;k=1.380658e-23; kbis=k/q; gap=1.166-(4.73e-4*(T^2)/(636+T)); Nc=2.86e19*(T/300)^(1.58); Nv=3.1e19*(T/300)^(1.85); nintrinsec=sqrt(Nc*Nv)*exp(-gap/((2*kbis)*T)); Dintrinsec=0.76*exp((Ea/kbis)/T); D0=0.037*exp((Ea/kbis)/T); //Boucle sur D car dependant de la concentration de bore for x=linspace(0,0.0001,1000),D=D0+((b/nintrinsec)*Dintrinsec),c=b*erfc(x./(2*sqrt(D*t*3600))),b=c,end plot2d([x], [c],logflag="nl",frameflag=1,rect=[0,1e16,0.0001,1e22])
Et comment faire pour tracer c pour chaque valeur de x? Faut-il créer un nouveau vecteur qui "grossit" à chaque valeur de c(x)?
Merci de votre aide,
Johann
Partager