Aide matlab - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 40 sur 40

Aide matlab



  1. #31
    leon1789

    Re : Aide matlab


    ------

    Citation Envoyé par leon1789 Voir le message
    Je conseille de ne pas prêter attention...

    Ok, votre algorithme est bien précisé (mis à part N non précisé et qu'il faut choisir arbitrairement grand)
    et on peut très facilement l'écrire dans un langage adapté (que certains reconnaîtrons) :

    Code:
    g := (X,T) -> X^3 * exp(T*X)/(exp(T*X)-1)^2 ;
    a := 0 ; b := 75 ;
    N := 1000 ;
    h := (b-a)/N ;
    for k from 1 to N do x[k] := a+k*h end do ;
    f(T) := h*(g(a, T)+g(b, T))/2 + add( g(x[k]), k=2..N-1) ;
    plot(f(T), T=0..100) ;
    Le seul souci est mathématique, car votre fonction g n'est pas définie pour x=0, donc il faut la prolonger par continuité g(0, T) = 0 avec T>0.
    Êtes-vous d'accord, frjulien ?

    -----

  2. #32
    invitecd18378c

    Re : Aide matlab

    salut leon
    je suis d'accord. Merci

  3. #33
    invitecd18378c

    Re : Aide matlab

    Bj,
    Merci Beauco por la disussion. EN fin voila deux types de codes.

    function y=fcv(w,T)
    y = zeros(size(w));
    y(w>0)= w(w>0).^2.*exp(T*w(w>0).)./(exp(T*w(w>0).)-1).^2;
    y(1)=0



    a=0;
    b =75;
    N=100;
    h=(b-a)/N;

    x=a:h:b;
    T=1:100;
    y=zeros(length(T), N+1)
    Q=zeros(size(T));
    for i=1:length(T)
    y(i,=fcv(x,T(i));
    Q(i)=h*((y(i,1)+y(i,N))/2 +sum(y(i,2:N+1)));
    end

    then
    %%
    plot(T,Q);

    %% second Methode
    %%% Quad prédifi dans Matlab

    Q=zeros(size(T));
    for k=1:length(T)
    Q(k)=quad(@(x)fcv(x,T(k)),a,b) ;
    end

    puis
    plot(T,Q)

  4. #34
    invitecd18378c

    Re : Aide matlab

    Bonjour,
    Merci beauco a leon pour son aide aussi meri pour les autres por ses remarks.

    Je veux ce code en Matlab me donne un parabole mais...je n'arrve pas. Merci de m'aider pour vos remarks

    Code:
    %%%
    %
    %tau(T,X)=1/ { 7.4483e+09+5.3674e-14*X^4+ ((3.85e-25+(7.7e-25)*exp(-333/T))*T^3)*X.^2 }
    %F(T)= int_a^b  tau(T,X)*X^3*exp(X/T)/(exp(X/T)-1)^2 dX 
    %But   Tracer F(T) en fonction de T.
    %% Approximation de l'integral  avec Methode de trapèze.  
    %%%% 
    %%  La fonction X^3*exp(X/T)/(exp(X/T)-1)^2  n'est pas definie en zero (X=0) je la prolonge par cntinuité en zero par zero.
    
    function  y=fcond(w,T)
    y = zeros(size(w));
    y(w>0)= w(w>0).^3.*exp(w(w>0)./T)./(exp(w(w>0)./T)-1).^2;
    y(1)=0; %% son prolongement par zero  pour X=0
    %%%%
    
    
    %%Main program
    
    
    a=0;  %%% 
    b=75;
    N=1000;
    h=(b-a)/N;
    X=a:h:b;
    T=1:10:1000;
    %%%
    tau=zeros(length(T),N+1);
    trap=zeros(1,length(T));
    
    for k=1:length(T)
    tau(k,:)=7.4483e+09+5.3674e-14*X.^4+ ((3.85e-25+(7.7e-25)*exp(-333/T(k)))*T(k)^3)*X.^2;
    tau(k,:)=1./tau(k,:);
    y=tau(k,:).*fcond(X,T(k)) ;   %% La fonction a chaque instant et au point X 
    trap(k)=(1/T(k))^2*h*(y(1)+y(N+1)+2*sum(y(2:N)))/2;   %%% Methode de Trapèze
    end
    
    
    plot(T,trap);
    
    
    %%%%
    Dernière modification par JPL ; 27/03/2013 à 23h28.

  5. #35
    invitecd18378c

    Re : Aide matlab

    %%J'ai simplifié mon code et j'ai des soucis quand je fais RUN ds matlab .
    %% J'ai ue fonction simple avec w variable et T parametre.

    function y=toltallA(w,T)
    %%% Parameter
    %%Begin parameter
    L=2.9e-6;
    v= 21.6e+3; %%waves velocities
    a=0.142e-9;
    N_0=6.022e+23;
    A= 3*sqrt(3)*a^2*N_0/4;%%% Molar area
    w_max=(2*pi*1.0e+12)*75.2933;
    delta_M=3;
    B_N=3.85e-25; %% Parameter of three-phonon normal
    B_U=7.7e-25;%% Umklapp processes
    alpha=3; %% constant
    theta=1000; %%Average dbye temprature
    c_d=1.0e-6;
    h=6.626e-34;
    hbar= h/(2*pi);%%% reduced planck constant
    kB=1.38*1.0e-23;
    coef=hbar^2/(4*pi*kB*v^2);
    %end of my parameter
    %%%
    %%% L'unique fonction qui depend de ''w''. J'integre par raport a w et T est un parametre

    tau=1./(v/L+ (A*delta_M^2*2*pi*c_d)/(2*pi*v^2*w_max^2)*w.^4+(B_N+B _U*exp(-theta/(alpha*T)))*T^3*w.^2);%%
    y= coef*v^2/T^2*tau.*w.^3.*exp(hbar*w./(kB*T))./(exp(hbar*w./(kB*T))-1).^2;

    MAin Program
    T=1:10:1000;
    QlA=zeros(size(T));
    for k=1:length(T)
    QlA(k)= quad(@(Z)toltallA(Z,T(k)),1.e-20,(2*pi*1.0e+12)*75);
    end


    plot(T,QlA);

    Mais !!!! toujours ne fonctionne plus,

  6. #36
    Dlzlogic

    Re : Aide matlab

    Bonjour,
    C'est étonnant, dans votre code, il y a des commentaires en langue anglaise.
    Essayez de garder le français, même pour des commentaires du code.

  7. #37
    invitecd18378c

    Re : Aide matlab

    Bonjour,

    Merci pur votre remarques,
    avez vous une idée sur la question de Matlab
    Merci

  8. #38
    Dlzlogic

    Re : Aide matlab

    Je vous ai déjà dit, tant que vous n'aurez pas fait un algorithme détaillé, je pense que vous aurez peu de chance d'y arriver.

  9. #39
    invitecd18378c

    Re : Aide matlab

    Bonjour,


    J'ai cette fonction a deux variables w et T et le reste sont des paraètrs donnés.
    function y=toltallA(w,T)
    %%% Parameter
    %%Begin parameter
    L=2.9e-6;
    v= 21.6e+3;
    a=0.142e-9;
    N_0=6.022e+23;
    A= 3*sqrt(3)*a^2*N_0/4;%
    w_max=(2*pi*1.0e+12)*75.2933;
    delta_M=3;
    B_N=3.85e-25; %%
    B_U=7.7e-25;%%
    alpha=3; %%
    theta=1000;
    c_d=1.0e-6;
    h=6.626e-34;
    hbar= h/(2*pi);
    kB=1.38*1.0e-23;
    coef=hbar^2/(4*pi*kB*v^2);
    %end of my parameter

    %%% L'unique fonction qui depend de ''w''. J'integre par raport a w et T est un parametre

    tau=1./(v/L+ (A*delta_M^2*2*pi*c_d)/(2*pi*v^2*w_max^2)*w.^4+(B_N+B _U*exp(-theta/(alpha*T)))*T^3*w.^2);%%
    y= coef*v^2/T^2*tau.*w.^3.*exp(hbar*w./(kB*T))./(exp(hbar*w./(kB*T))-1).^2;

    %%% MAin Program j'utilise quad pour l'aproximation de l'integral et loop en T.
    T=1:10:1000;
    QlA=zeros(size(T));
    for k=1:length(T)
    QlA(k)= quad(@(Z)toltallA(Z,T(k)),1.e-20,(2*pi*1.0e+12)*75);
    end

  10. #40
    Dlzlogic

    Re : Aide matlab

    J'ai l'impression que je me suis mal expliqué.
    D'abord, je ne regarderai jamais un code avec des lignes aussi longues, des formules à n'en plus finir, des variables qui ne sont pas documentées, aucune indentation etc.
    La solution qui consiste à supprimer les commentaires parce qu'il sont en anglais est assez explicative de votre méthode.
    Tant que vous n'aurez pas fait un algorithme clair, logique et détaillé, je ne pourrai rien pour vous aider.

    Dans votre message #34, vous parlez de parabole. D'où cela vient-il ?

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Aide en MATLAB
    Par invite047116f9 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 29/05/2012, 23h57
  2. Aide en Matlab
    Par invitec32a9991 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 25/04/2012, 12h10
  3. Aide matlab
    Par invite84413e1e dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 12/07/2011, 02h02
  4. Aide Matlab
    Par invite085425ee dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 21/06/2010, 11h36
  5. Aide Matlab
    Par invite749436b6 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/04/2010, 16h35