Problema Indice Array

di il
1 risposte

Problema Indice Array

Salve, ho appena iniziato ad utilizzare Matlab.
Ho provato a scrivere nel command window questo:

>> x = 0

x =

     0

>> switch x
case x ~= 0
f(x) = sin(x)/x
case x == 0
f(x) = 1
end
e mi da il seguente errore: Array indices must be positive integers or logical values.
Cosa ho sbagliato ? grazie.

1 Risposte

  • Re: Problema Indice Array

    Nel caso di x uguale a 0, f(x) implica accedere alla locazione 0 del vettore f. In MatLab gli indici dei vettori cominciano da 1. Da qui il messaggio di errore. Visto che usi x come argomento della funzione sin è probabile che gli assegnerai valori decimali, anche in questo caso non potrai usare x come indice del vettore f. Dovresti usa e una variabile come contatore che incrementerai ogni volta che vorrai inserire un valore nel vettore f. Da ultimo, per il tipo di calcolo che hai scritto, un blocco if - else è molto più indicato dello switch
Devi accedere o registrarti per scrivere nel forum
1 risposte