Frage von Neosion, 24

Was bedeutet f(x==y) bei Matlab?

Hallo zusammen, ich hätte eine Frage zu Matlab. Und zwar habe ich manchmal den Ausdruck der Form f(x==y) =7 gesehen, wobei x ein Skalar war und y eine 1-Zeilenmatrix(n Spalten, 1 Zeile wie 1:10). f war dabei entweder eine Funktion oder ein Vektor. Leider konnte ich dazu nirgends etwas finden, auch in der Dokumentation von Matlab nicht. Weiss jemand, was der Ausdruck genau macht?

Lg. Neosion

Expertenantwort
von martin7812, Community-Experte für programmieren, 18

Hallo

Es ist zwar schon lange her, dass ich was mit Matlab gemacht habe, aber ich glaube, dass zumindest x==y folgendes bedeutet:

Du erstellst damit einen Vektor, der genau so lange ist wie y und bei jedem Element, wo y den Wert x hat, eine 1 steht und überall sonst eine 0:

x = 5

y = [1,2,5,7,5,5]

x==y = [0,0,1,0,1,1]

f(x==y) ergibt aus meiner Sicht wenig Sinn, wenn es sich bei f um einen Vektor handelt: Der Wert 0 als Index eines Vektors ist nicht zulässig.

f((x==y)+1) wäre hingegen sinnvoll: (x==y)+1 wäre ein Vektor, der die Elemente 1 und 2 enthält. Diesen Vektor kann man als Index für Vektor f nehmen...

Falls f eine Funktion ist, wird der Vektor x==y an die Funktion f übergeben. Dann würde aber das "=7" keinen Sinn ergeben.

Keine passende Antwort gefunden?

Fragen Sie die Community