Sintassi Matlab
buongiorno,
nel programma che sto usando mi trovo con
dove out è una cell $3\times 2$, il fatto è che non capisco che cosa faccia con esattezza, e perché sia stato posto quel minore, qualcuno me lo può tradurre? Così riesco a continuare. Index_mesh altro non è che un contatore che varia da 1 a 4
nel programma che sto usando mi trovo con
out{index_mesh,1}(abs(out{index_mesh,1}(:,1))<0.001,3)
dove out è una cell $3\times 2$, il fatto è che non capisco che cosa faccia con esattezza, e perché sia stato posto quel minore, qualcuno me lo può tradurre? Così riesco a continuare. Index_mesh altro non è che un contatore che varia da 1 a 4
Risposte
La prima cosa che mi viene in mente è che sia un'"equivalenza per floating point". I numeri nel pc possono essere affetti da errore numerico, per cui il codice
che prima assegna [inline]1[/inline] alla variabile [inline]x[/inline] e poi verifica che [inline]x[/inline] sia effettivamente [inline]1[/inline] potrebbe fallire per colpa dell'errore numerico.
Tuttavia quello che di solito si fa è di verificare non che un numero sia uguale ad un altro ([inline]x == 1[/inline]) ma che la loro distanza sia molto piccola ([inline]|x-1|<0.0...01[/inline]).
x = 1 if x == 1 ...
che prima assegna [inline]1[/inline] alla variabile [inline]x[/inline] e poi verifica che [inline]x[/inline] sia effettivamente [inline]1[/inline] potrebbe fallire per colpa dell'errore numerico.
Tuttavia quello che di solito si fa è di verificare non che un numero sia uguale ad un altro ([inline]x == 1[/inline]) ma che la loro distanza sia molto piccola ([inline]|x-1|<0.0...01[/inline]).