2013-03-19 74 views
0

我試圖運行fengdemo.f使用CodeBlocks作爲我的IDE和GNU Fortran編譯器作爲我的編譯器。它貫穿於包括罰款,但它不能建立任何方法的調用Matlab引擎從Fortran調用Matlab

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|51|undefined reference to `engopen_'| 

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|58|undefined reference to `mxcreatedoublematrix730_'| 

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|59|undefined reference to `mxgetpr_'| 

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|59|undefined reference to `mxcopyreal8toptr730_'| 

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|64|undefined reference to `engputvariable_'| 

等等

我試着在網上搜索,但不能真正上找到任何有用的信息Mathworks或其他地方。我也得到了C++引擎演示工作,所以我的路徑變量和其他這樣的東西是正確的。

我不習慣使用Fortran,所以任何幫助表示讚賞。

PS。 fengdemo.f在extern/examples/eng_mat下,所以我沒有發佈任何代碼。

問:甚至可能沒有VFC?如果有的話,有人可以指引我走向正確的方向嗎?

回答

1

您也可以 「手動」 做一些事情。在Fortran中,您可以使用「系統」子例程來運行系統命令。 例如,如果你是在Linux環境下,並在Fortran代碼,你包括命令

call system("firefox http://stackoverflow.com/") 

Fortran程序會打開一個Firefox標籤/窗口StackOverflow上。

您也可以在閱讀時從終端使用MATLAB(我沒有安裝它)。例如,您可以調用下面的命令來生成一個圖。

matlab -nosplash -nodesktop -r "ezplot('x')" 

所以,你可以創建一個matlab函數並通過fortran調用它。沃爾特·羅伯遜在MATLAB Answers寫道,你可以使用:

matlab -r 'myfunction(argument1,argument2)';

或更安全:

matlab -r 'try myfunction(argument1,argument2); catch; end; quit'

您還可以創建與Fortran語言的輸入文件,並從MATLAB使用它。這不是一個自動解決方案,但它不需要特殊的編譯器。但它是平臺依賴的。