2016-08-03 50 views
0

Ich habe kürzlich ein Matlab-Programm (TraitLab) gefunden, das ich gerne verwenden möchte, aber ich habe keine Matlab-Lizenz. Da ich dachte, dass GNU Octave und Matlab größtenteils kompatibel sind, habe ich versucht, es in Oktave zu spielen, aber die GUI-Methode zum Ausführen des Programms hängt davon ab, eine .fig Datei zu laden (jetzt weiß ich, dass ich load verwenden kann, um den Inhalt der Struktur zu erhalten Datei, aber das macht es nicht eine Figur mache ich auf verschiedene GUI-Funktionen übergeben um kann) und die kopflos wie es berichtet viele Parse-Fehler überErstellen eines Matlab-Programms mit Octave

nested functions not implemented in this context 

gibt es eine offensichtliche Art und Weise auszuführen eine Funktion geschrieben, um zu erhalten Matlab, das diese zwei Symptome zeigt, um unter Octave zu laufen?

+4

Der offensichtliche Weg ist, es neu zu schreiben, damit es Octave-Syntax gültig ist. Es gibt keine magische MATLAB-> Octave-Taste, während sie viel von der gleichen Syntax teilen, die sie nicht vollständig miteinander kompatibel sind. – excaza

+0

Welche Version von Octave verwenden Sie? Octave unterstützt Nested-Funktionen ab Version 3.8, wenn es mit Matlab kompatible Scoping-Regeln hat. Die Nachricht sagt jedoch "in diesem Kontext", so dass es sich um spezielle Fälle handeln kann, in denen verschachtelte Funktionen noch nicht verfügbar sind. Stellen Sie sicher, dass Sie die neueste Octave-Version verwenden. –

+0

Meine Oktave ist 4.0.3, die neueste auf Arch heute. – Anaphory

Antwort

1

Ich habe TraitLab heruntergeladen und es ist für mich offensichtlich, dass es ein Programm ist, das eine starke Modifikation für Sie benötigt, um auf Oktave zu laufen, die Sie wahrscheinlich nicht (oder möglicherweise Expertenwissen) zu implementieren haben.

In diesem Fall haben Sie wirklich nur zwei andere Optionen.

1) Schreiben Sie an die Entwickler und fragen Sie sie, ob sie ihren Code so implementieren könnten, dass er Octave-kompatibel ist. Ich würde nicht den Atem anhalten, weil es eine akademische Bibliothek ist, aber es lohnt sich immer darauf hinzuweisen, dass Octave-kompatibler Code gefragt ist. Auch wenn es sich um alten Code handelt, lohnt es sich trotzdem, das Statistiklabor in Oxford zu kontaktieren, da sie möglicherweise in eine andere Codebase umgezogen sind, die vielleicht auch Ihren Bedürfnissen entspricht (zB ich weiß, dass viele Leute in Oxford den Wechsel zu Julia gemacht haben)).

2) In der Zwischenzeit, wenn Sie dies wirklich ausführen möchten, aber Sie Matlab nicht haben, finden Sie eine Matlab-Installation (z. B. von einem Freund oder an Ihrer Universität) und erstellen Sie eine Standalone-Version mit Matlab "Application Compiler ".
ODER
Erwägen Sie den Kauf von Matlab. Es hat den Ruf, unerschwinglich teuer zu sein, teilweise weil universitätsweite Lizenzen einen Arm und ein Bein kosten. Aber für den persönlichen Gebrauch (vor allem, wenn Sie ein Student sind?), Mit der richtigen Lizenz und nur die notwendigen Toolkits, ist es eigentlich nicht so teuer wie Sie vielleicht denken.

+0

PS. Sie könnten auch die Statistikabteilung fragen, ob sie die "Standalone" -Version selbst zusammen mit ihren anderen Downloads bereitstellen könnten. Ich sehe keinen Grund, warum sie das nicht tun würden (abgesehen davon, dass sie sich nicht genug darum kümmern, auf diesen bestimmten Knopf zu klicken: p). –