Esercizio in Matlab

di il
2 risposte

Esercizio in Matlab

Salve a tutti ragazzi.
Mi chiamo Luca lazzaretti e sono nuovo qui
Sono uno studente di ingegneria meccanica in Erasmus in Francia e avrei bisogno di una vostra mano per degli esercizi che il prof ci ha dato da fare con Matlab a casa.
Dovrei scrivere la funzione della velocità di reazione da/dt per un dato tempo t, una data temperatura T e un dato grado di a (ad esempio, una funzione nella forma: dadt = kinetics (t,a,T).

Questo è quello che ho scritto io:

function dadt=kinetics(t,a,T)

kinetics= x*(k1+(k2*(a^m)))*(amax-a)^n;
axis([0 8000 0 1])
xlabel ('time (s)')
ylabel('a')
title ('Kinetic model')
[y] = x*(k1+(k2*(a^m)))*(amax-a)^n;

amax=1;
m=0.64;
n=1.36;
k1=(exp^(10.7))*exp^(-(61.4)/RT);
k2=(exp^(12.6))*exp^(-(62.1)/RT);
R= 8.314472; %Pa[m3*K^-1*mol^-1]
T1=100; %°C
T2=110; %°C
T3=130; %°C
T4=140; %°C
t=0:8000 ; %s
a=0:1 ;
x=t ;

plot(x,y,T1,'**',x,y,T2,':g',x,y,T3,'°°r',x,y,T4,'--b')

end

Non riesco ad ottenere il plot della funzione alle diverse temperature. Dove sbaglio?

Non è molto che uso Matlab e forse voi esperti lo capirete da quello che ho scritto.
A presto e grazie

2 Risposte

  • Re: Esercizio in Matlab

    Non riesco ad ottenere il plot della funzione alle diverse temperature. Dove sbaglio?
    Ricevi un messaggio di errore?

    Nella funzione che hai scritto (ammesso che sia esattamente quella che usi), le variabili x, k1, k2 ecc. sonno definite / calcolate dopo essere state utilizzate all'inizio della funzione; questo dovrebbe generare un errore.

    Il parametro T in input alla funzione non è utilizato.

    Se il parametro t è un vettore (e, di conseguenza, anche la variabile x), forse (ma dipende dall'algoritmo che vuoi implementare) posporre un "punto" nelle equazioni ==> x.*(k1 ecc. ) senza il punto che consente di effettuare le operazioni "element-wise" otterrai in output un solo valore.

    La funzione plot richiede due parametri (dati delle ascisse e delle ordinate) mentre nella chiamata inserisci anche T1, T2 ecc.
    Qual è il loro significato nel plottaggio dei dati?
  • Re: Esercizio in Matlab

    Ti dico più o meno quello che devo fare.
    Partendo da questa equazione da/dt=(k1+k2*a^m )*?(amax-a)?^n devo plottare un grafico che ha su asse x "Time (s)" (circa 0-8000s), e su asse y i valori di "a" che vanno da 0 a 1.
    Per calcolare k1 e k2 c'è questa formula:
    k1=k10*exp(-E1/R*T)
    k2=k20*exp(-E2/R*T)
    e sono quei valori di Temperature li che variano secondo T1 T2 T3 T4.
    Nel grafico però dovrebbero comparire 4 curve, una per ogni valore delle temperature.
    T1=100
    T2=110
    T3=130
    T4=140.

    Gli altri valori sono fissi e sono scritti sopra.
    Grazie mille nell'interesse che ci hai messo per rispondermi
Devi accedere o registrarti per scrivere nel forum
2 risposte