|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 15
|
[Matlab] errore e non capisco
salve a tutti.devo fare dei calcoli per finire la tesi d'ingegneria e uso matlab:
vi prego,guardate l'ora e datemi una mano il prima possibile a dirmi dove sbaglio: i miei dati: ycrit=2.8e-4 b=[-2.17e-7;-.1695;.5789;.001] vp=3:0.1:5.9 questa è la funzione: dp=[((ycrit-b(4))/(b(1)*vp.^(b(3))))^(1/(b(2)))] mi da il seguente errore: ??? Error using ==> mrdivide Matrix dimensions must agree ho guardato su google e qui anche nella funzione cerca..ma cosa ho sbagliato?cè qualcuno che mi aiuta?vi prego.. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jun 2005
Messaggi: 1087
|
Quote:
|
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2004
Messaggi: 60
|
Stai dividendo uno scalare, definito da (ycrit-b(4)) per un vettore definito da (b(1)*vp.^(b(3))).
Saluti Ultima modifica di Francoo : 07-12-2007 alle 14:42. |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Nov 2005
Messaggi: 11
|
Allora, direi che il problema principale è che, usando troppe parentesi non necessarie, non si capisce più quello che c'è scritto e non si trova l'errore. "Pulendo" un po' la tua formula si ha:
dp=( (ycrit-b(4)) / (b(1)*vp.^b(3)) )^(1/b(2)) I problemi, ora un po' meglio visibili, sono: - Nella frazione (ycrit-b(4)) / (b(1)*vp.^b(3)) la divisione non può essere fatta con / ma deve essere usato l'operatore elemento per elemento ./. Sei infatti nel caso vettore ./ vettore e non in vettore / scalare. - Una volta calcolata la frazione, che è in realtà un vettore, anche l'esponente esterno ^ deve essere corretto nell'operatore elemento per elemento .^ In definitiva la formula diventa: dp=( (ycrit-b(4)) ./ (b(1)*vp.^b(3)) ).^(1/b(2)) Fammi sapere, M.
__________________
KM Z2 Guardate le mie foto qui: http://www.photo4u.it/album_personal.php?user_id=15092 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:19.