2010-10-05 24 views
16

Dies ist eines der Dinge, die mich schon immer an Matlab gestört haben. Ich verstehe, warum Arrays bei 1 und nicht bei 0 wie in jeder anderen Programmiersprache beginnen, aber warum ist !=~= in Matlab?Warum wird nicht gleich durch ~ = in Matlab dargestellt?

+4

Warum wird der Himmel auf dem Mars rot dargestellt? Weil es Mars ist und nicht die Erde. – nilamo

+0

Sie können "wie in den meisten anderen Programmiersprachen" schreiben. Eine andere Sprache, die bei 1 beginnt zu indizieren, ist LUA. – Jonas

+0

Interessanterweise akzeptiert Octave, der Open-Source-Klon von Matlab,! = (Zusätzlich zu ~ =), sowie! X (zusätzlich zu ~ x). –

Antwort

17

Das Tilde-Zeichen (~) wird im Allgemeinen als bitweiser NOT-Operator verwendet.
Wie die! Charakter ist für eine andere Verwendung reserviert (OS-Befehl), ich denke, es ist keine schlechte Wahl.

10

In der mathematischen Logik ~ ist eine altmodische Art und Weise kann ¬

2

In der Logik Tilde zu schreiben bedeutet „nicht“, die wie in der Mathematik Tilde verwirrend sein können, kann „Äquivalenz“ oder „ca.“ sein. Es findet sich jedoch auf mehr Tastaturen als auf dem weniger zwiespältigen. Pass auf, wie Tilde auch bitweise nicht bedeuten kann :)

+0

Vielen Dank für Ihre Antworten. Sie alle beantworten meine Frage für einen Teil, also was soll ich tun? Kann ich alle Antworten als "beantwortet" markieren? – Ingo

+4

@Ingo. Wählen Sie, was auch immer am vollständigsten erscheint. Wählen Sie bei einer Gleichheit, welche der beiden Antworten am frühesten war. Wenn Sie immer noch feststecken, gehen Sie einfach für denjenigen, von dem Sie denken, er hat das beste Foto (so viele wählen bei Wahlen). Wenn immer noch fest; schreibe einen Pseudozufallszahlengenerator, teste seine Qualität gegen NIST - Sicherheitstests, verbessere es, bis es vorbei ist, schreibe ein Papier über eine mathematische Entdeckung, die du dabei gemacht hast, erhalte einen kleinen, aber prestigeträchtigen Preis für deinen Beitrag zum Staat die Kunst, und verwenden Sie dann den PRNG, um eine Antwort auszuwählen auszuwählen. Nun, das oder einfach nur einen willkürlich auswählen. –

+0

in einem Tie-Breaker, gehen Sie für die Person mit dem niedrigsten Vertreter! –

0

Warum wird .not..eq. durch ~= repräsentiert? Aus dem gleichen Grund, dass es nicht als =!= oder /= oder eine der hundert und eine andere Konventionen in Programmiersprachen vertreten dargestellt wird.

Und der Twiddle, oder ~, ist in Logik-Texten weit verbreitet, um NOT zu bedeuten.

Verwandte Themen