Traduit du R en Matlab
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Traduit du R en Matlab



  1. #1
    jourdain

    Traduit du R en Matlab


    ------

    salut a tous,

    j aimerai reecrire le language ci dessous en Matlab
    si quelqu´un si connait ,merci d avance.

    bon dimance a tous
    Jourdain


    Code:
    eps0<-8.854E-14 #F/cm
    epsOx<-3.9		#
    epsHL<-11.8
    q<-1.602E-19 	#C
    
    dox<-1E-4	 	#cm    1um=1E-4
    Cox<-eps0*epsHL/dox
    
    Na<-3E13 		#1/cm³
    ni<-1.08E10		#1/cm³
    k<-1.38E-23		#J/K
    T<-300			#K
    PhiB<-k*T/q*log(Na/ni)
    
    UFB<- -1
    QHLmax<--sqrt(2*eps0*epsHL*q*Na*2*PhiB)
    Uth<-UFB+2*PhiB-QHLmax/Cox
    CHLmin<-sqrt(q*eps0*epsHL*Na/(2*PhiB))
    
    f.PhiS<-function(UG){
    B<--(2*UG*Cox^2+2*eps0*epsHL*q*Na)
    A<-Cox^2
    C<-Cox^2*UG^2
    PhiS<- (-B-sqrt(B^2-4*A*C))/(2*A)
    PhiS
    }
    
    f.C<-function(UGs){
    Cs<-c()
    for(UG in UGs){
    
    if(UG<UFB){C<-Cox}
    if(UG>UFB & UG<Uth){
    CHL<-sqrt(2*q*eps0*epsHL*Na/(2*f.PhiS(UG-UFB)))
    C<-Cox*CHL/(Cox+CHL)}
    if(UG>Uth){C<-Cox*CHLmin/(Cox+CHLmin)}
    
    Cs<-rbind(Cs,C)
    }
    Cs
    }
    
    
    UGs<-seq(-2,2,by=0.01)
    Css<-f.C(UGs)
    
    plot(UGs,Css,xlab="Tension d entree",ylab="Capacitet",main="C-V-Courbe",type="l")

    -----
    Dernière modification par JPL ; 02/08/2015 à 19h49. Motif: Ajout de la balise Code (#)

  2. #2
    jourdain

    Re : Traduit du R en Matlab

    j ai pu essaye mais je ne parviens pas

    Code:
    clc
    
    eps0=8.854*10^-14;%%F/Cm
    epsOX=3.9;
    epsHL=11.8;
    q=1.602*10^-19; %% C
    dox=1*10^-4;%%cm
    Cox=(eps0*epsHL)/(dox);
    na=3*10^13;%% 1/cm3
    ni=1.08*10^10; %% 1/cm3
    k=1.38*10^-23; %%J/K
    T=300; %% K
    phiB=(k*T)/(q*log(na/ni));
    UFB=-1;
    QHLmax=-sqrt(2*eps0*epsHL*q*na*2*phiB);
    Uth=UFB+2*phiB-QHLmax/Cox;
    CHLmin=sqrt(q*eps0*epsHL*na/(2*phiB));
    phiS=racine(Ug);
    C=capacite(Ugs);
    
    par la suite j ai ecris les fonctions racine et capacite
    
    function phiS=racine(Ug)r
    Ug=1
    
    B=-((2*Ug*(Cox^2))+(2*eps0*epsHL*q*na));
    A=Cox^2;
    C=Cox^2*Ug^2;
    phiS=(-B-sqrt(B^2-4*A*C))/(2*A);
    
    
    function C=capacite(Ugs)
    Ugs=-2:0,01:2
    UFB=-1;
    
    for Ug=-2:Ugs
        
        if(Ug<UFB)
        C=Cox;
        end;
        
          if(Ug>UFB & Ug<Uth)
          CHL=sqrt(2*q*eps0*epsHL*na/(2*phiS(Ug-UFB)));
          C=(Cox*CHL)/(Cox+CHL);
          end;
          
          if(Ug>Uth)
              C=(Cox*CHLmin)/(Cox+CHLmin);
          end;
    end;
    plot(Ugs,C);
    Dernière modification par Antoane ; 02/08/2015 à 15h42. Motif: Ajout balises [code]

  3. #3
    Antoane
    Responsable technique

    Re : Traduit du R en Matlab

    Bonjour,

    Les messages d'erreurs renvoyés par matlab lorsque tu tentes d'éxécuter le script t'aiderait à savoir vers où orienter tes recherches. Quels-sont-ils ?
    Pour commencer, il ne faut pas de ; après un end http://se.mathworks.com/help/distcomp/for.html.

    Note : un seul % suffit pour définir un commentaire. placés en début de ligne, deux % définissent un nouveau bloc d'instructions.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

Discussions similaires

  1. Livre traduit en français?
    Par OdeliaSG dans le forum Lectures scientifiques
    Réponses: 3
    Dernier message: 26/06/2012, 21h56
  2. Ouvrage non traduit ?
    Par Ellis dans le forum Lectures scientifiques
    Réponses: 3
    Dernier message: 24/08/2011, 14h14
  3. [Brun] Récepteur TELEVES traduit en allemand !!
    Par quenotte dans le forum Dépannage
    Réponses: 11
    Dernier message: 03/01/2010, 16h58
  4. Existe-t-il un handbook traduit en français?
    Par inviteb8db91c3 dans le forum Chimie
    Réponses: 4
    Dernier message: 12/03/2008, 14h24
  5. ADN traduit
    Par inviteeffffa8d dans le forum Biologie
    Réponses: 37
    Dernier message: 19/04/2006, 17h24