Wie bereits erwähnt, sind sie für eindimensionale Arrays identisch.
IMHO von Code Lesbarkeit Sicht length
sollte auf eindimensionalen Arrays verwendet werden. Es ist ungefähr "intentional programming", Sie sehen den Code und verstehen, was Programmierer bei der Konzeption seiner Arbeit im Sinn hatte. Wenn ich numel
sehe, weiß ich, dass es auf einer Matrix verwendet wird.
length
vs numel
war ein Diskussionsthema in unserem Team über eine Reihe von Jahren. Ex-Senior-Entwickler kümmerte sich nicht um die Wiederherstellbarkeit von Code, nur über die Arbeit, die getan wurde und nur numel
in sonst nicht gut lesbaren/formatierten Code verwendet. Anderer Typ ist ein Maatmatician und verwendet length
nur auf numerischen Arrays, die für ihn "echte" Arrays sind. Für Zellen-Arrays und Struct-Arrays verwendete er numel
.
Du hast Recht auf dem Leistungsteil. Ich habe gerade 100 Iterationen von numeric vs length auf x = 1: 100000000 ausgeführt und die Zahl war durchschnittlich 3,0919 mal schneller. Sollte jedoch für kleinere Arrays nicht so wichtig sein. – Doresoom
... und jetzt bin ich eigentlich neugierig auf die Leistung von Anzahl/Länge und Größe des Arrays. – Doresoom
LÄNGE wird niemals der Leistungsengpass in Ihrem Programm sein! Nur wirkliche Leistungsverbesserungen sind wichtig. In allen anderen Fällen ist die Lesbarkeit des Codes wichtig. – Mikhail