[Matlab] Generare un vettore da un ciclo
Salve,
sono alle prese con uno script di Matlab.
Devo ottenere un vettore con dentro tutti valori di un raggio R per ogni valore di p (pressione) usando la seguente formula $ R(i)= ((p(i))/(p(i+1))) ^ (1/3\gamma) $ dove p è un vettore composto da N elementi.
Il programma deve prendere il valori (i-esimo) e (i-esimo +1) di "p" fino al valore (N-esimo -1) e (N-esimo) e deve restituirmi un vettore con i tutti i valori di R da "i" a "N".
Grazie!
sono alle prese con uno script di Matlab.
Devo ottenere un vettore con dentro tutti valori di un raggio R per ogni valore di p (pressione) usando la seguente formula $ R(i)= ((p(i))/(p(i+1))) ^ (1/3\gamma) $ dove p è un vettore composto da N elementi.
Il programma deve prendere il valori (i-esimo) e (i-esimo +1) di "p" fino al valore (N-esimo -1) e (N-esimo) e deve restituirmi un vettore con i tutti i valori di R da "i" a "N".
Grazie!
Risposte
Non sono sicuro di aver capito.. comunque qualcosa del genere credi possa funzionare?
R = ( p(1:end-1) ./ p(2:end) ).^(gamma/s);
"apatriarca":
Non sono sicuro di aver capito.. comunque qualcosa del genere credi possa funzionare?
R = ( p(1:end-1) ./ p(2:end) ).^(gamma/s);
si esatto, grazie! e se ora dovessi moltiplicare tutto il membro di destra per R(i-1) ?
Mi spiego meglio, devo avere un vettore con tutti i valori di R (i:N) ottenuto dalla formula $ R(i) = (((p(i-1))/(p(i)))^(2/21)) * (R(i-1))$
Suppongo si potrebbe scrivere nel modo seguente:
R = ( p(1:end-1) ./ p(2:end) ).^(2/21); R = cumprod(R);
Come scrivereste questo in Matlab?
$ R = [((P(i))/(P(i+1)))^(2/21)]*R(i) $
dove P e R sono vettori. Cioè R si deve aggiornare ogni volta.
$ R = [((P(i))/(P(i+1)))^(2/21)]*R(i) $
dove P e R sono vettori. Cioè R si deve aggiornare ogni volta.