PDA

View Full Version : Problema in Matlab


boysna
14-09-2006, 22:18
a=0;
for i=1:10
a=a+0.3
end
val=a == 3

Questo è uno script che ho provato a eseguire prima ma non capisco perchè il valore di val è sempre 0 quindi a non risulta uguale a 3 dopo il ciclo, ma questo è impossibile.

redcloud
14-09-2006, 23:19
La sparo... perchè forse c'è un problema di arrotondamento?

boysna
15-09-2006, 09:45
Qualche problema ci deve essere. Di arrotondamento non credo, cifre decimali non ce ne sono, o no? Se non ci sono i decimali dove arrotondiamo?

Dev'essere qualcosa che coinvolge la precisione di macchina.

mattia.pascal
15-09-2006, 15:19
La variabile a che valori assume durante i vari step? E' sempre zero?

Andrea16v
15-09-2006, 15:27
Al posto di a=0 nella prima riga prova a mettere
a=1.0 e guarda che valore assume a fine ciclo..

mattia.pascal
15-09-2006, 18:08
E' sicuramente un problema di casting. Modifica il codice così
val = (round(a) == 3);