que signifie une égalité dans une fonction de tracé dans MATLAB?

1

Donc, je suis juste nouveau sur MATLAB et cela peut être un doute très ridicule, mais lors de la génération de signaux de base pour le traitement du signal, j’ai ceci:

t = (-1: 0,01: 1) ';

impulsion = t == 0 ; parcelle (t, impulsion)

partir de: https://www.mathworks.com/help/signal/gs/impulse-step-and-ramp-functions.html )

Donc, je sais que cela va tracer une impulsion d'unité mais je ne peux pas voir ce que t == 0 fait là. A l'instant instant = 0, il ira jusqu'à 1, comme prévu, mais pourquoi? Plus précisément, quelqu'un peut-il m'expliquer ce que "==" dit à MATLAB de faire?

Merci beaucoup

Paul
la source

Réponses:

0

Dans la plupart des langages de programmation, vous pouvez utiliser l'expression qui convient pour une instruction "if" et l'utiliser dans n'importe quel calcul.

Dans la plupart des cas, lorsque l'expression est "TRUE", cela donnera la valeur "1".

Par conséquent, "t == 0" est évalué à "1" lorsque la valeur de "t" est égale à zéro (0) ... dans tous les autres cas, le résultat est zéro.

Cela permet d'écrire du code sans les instructions "if" qui se comportent de la même manière que du code utilisant une ou plusieurs instructions if.

par exemple

$ python
Python 2.7.12 (défaut, 12 novembre 2018, 14:36:49) 
[GCC 5.4.0 20160609] sur linux2
Tapez "aide", "copyright", "crédits" ou "licence" pour plus d'informations.
>>> pour x dans xrange (0,20):
... imprimer (x! = 10) * x,
... 
0 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19
>>> pour x dans xrange (0,20):
... si x! = 10:
... imprimer x,
... autre:
... imprimer 0,
... 
0 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19
>>> quitter ()
$ 
Hannu
la source
Excellente réponse Hannu. Merci beaucoup!
Paul le