我有一系列爲MATLAB編寫的實驗,但最近我們試圖通過Octave來運行它們。我意識到它們大部分是兼容的,但我遇到了一些問題,而且我發現的在線常見問題解答或指導都沒有解決這些問題。它有點複雜,因爲有多個.m文件相互作用;不過,現在我要把重點放在主程序上。無論如何,所以當我試圖通過倍頻來運行該文件(MLP.m),我得在終端窗口下面的錯誤:將MATLAB文件轉換爲Octave
error: dir: expecting directory or filename to be a char array
error: called from:
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/miscellaneous/dir.m at line 128, column 5
error: /Applications/MATLAB_R2008a/toolbox/psychoacoustics/MLParameters.m at line 86, column 7
error: /Applications/MATLAB_R2008a/toolbox/psychoacoustics/MLP.m at line 9, column 3
它引用的線路如下:
1)
d = dir([cd myslash 'Experiments_MLP' myslash '*.m']);
2)
s = MLParameters;
什麼這些線是不符合八度?我無法在網上找到任何表示這些不起作用的內容。
之後,終端窗口給了我這個批次的廢話:
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71: 1077 Trace/BPT trap GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "[email protected]"
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71: 1083 Trace/BPT trap GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "[email protected]"
error: you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function
我已經安裝的Gnuplot,我檢查了gnuplot_binary功能,它並沒有給我任何答案。 GNUPlot與Octave本身一起安裝在my/Applications目錄中。爲什麼不應該這樣工作? GNUPlot附帶的自述文件沒有指出它要安裝的特殊目錄。那麼dyld庫沒有加載錯誤呢?這與GNUPlot問題有關嗎?還是其他問題?
無論如何,感謝您的幫助
的內容是什麼這些變量:'cd'和'myslash'?或者它是一個函數調用像MATLAB中的'filesep'? – Amro
cd只是調用目錄的命令。 Myslash只是一個確保程序可以在PC和Mac上運行的變量。它的設置使得在PC上,目錄路徑在Mac上使用'\'和'/'。 – Billy
['cd'](http://octave.sourceforge.net/octave/overview.html#CurrentWorkingDirectory)實際上是一個內置函數(存在於MATLAB和Octave中)來更改當前目錄,並且不返回任何東西。 DIR期望一個字符串作爲它的參數.. – Amro