Ich bin ein medizinischer Forscher mit Code in MATLAB 2009b geschrieben, die sehr langsam wegen einer selbstreferentiellen Schleife (nicht sicher der Programmiersprache hier) läuft, dh die Ergebnisse der ersten Iteration wird während verwendet die zweite Iteration, usw. (Ich habe es zu einem Preis-thee-Well vektorisiert. Ich habe den Profiler ausgeführt.)Umwandlung von MATLAB-Code in Fortran
Ich möchte die langsamen Teile des Codes in eine mex-Funktion konvertieren. Ich habe Fortran in den frühen 1970ern gelernt, aber seither nicht mehr. Der Code, den ich konvertieren muss, macht nichts Besonderes, es ist nur eine lange numerische Berechnung.
Meine Frage ist: Was wäre die am einfachsten zu lernende Version von Fortran, die für diesen Zweck geeignet ist, und welcher Compiler am besten auf dem Intel Mac dafür funktioniert? Ich habe Informationen gefunden, die Syntax in MATLAB mit Fortran 90 zum Beispiel vergleichen, und die Umwandlung sieht nicht so aus, als wäre es zu entmutigend für mich. Ich bin aber auch kein Programmierer.
Ich benutze ein MacBook Pro mit OS 10.6.
Schätzen Sie jede Hilfe, danke.
Wie ironisch. Matlab wurde zum Teil als "besseres" FORTRAN entwickelt. – Marc
Ist der Code klein genug zum Posten? Es kann noch weitere Optimierungen geben, bevor auf MEX zurückgegriffen wird. Z.B. Die Vorbelegung und das sorgfältige Vornehmen von Funktionsaufrufen könnte neueren Matlabs ermöglichen, Arrayanpassungen direkt an Ort und Stelle durchzuführen - ein großer Gewinn für iterative Berechnungen. –
lässt hoffen, dass diese hitzige Diskussion ihn nicht erschreckte :) – Amro