matlab與maple互聯,Matlab,Maple和Mathematica三款主流科學計算軟件的互操作

本文根據網上零散的信息以及這三款軟件自帶的說明文檔整理而成,為備忘而記錄。記錄了Matlab和Maple之間的相互調用,以及Matlab和Mathematica之間相互調用的安裝配置方法。

為何需要互操作???????? 數值計算和圖形方面Matlab毫無疑問是最強的,但其符號演算方面就比較弱。

符號運算方面Maple和Mathematica各有千秋。我個人感受:就符號運算本身而言,Mathematica應該比Maple更強,但軟件自帶工具包的豐富程度,Maple比Mathematica更豐富。此外,Mathematica本身的數值計算能力總體上還是比Maple更強,而Maple的易用性比Mathematica更強。

由上面的優缺點對比,就存在可能會同時使用兩款以上的軟件,也就存在互操作問題。

本文成功配置的參考環境:??????? Win7-x86+Matlab2011a+Mathematica8+Maple15+Microsoft Visual Studio 2010

一)在Matlab環境中調用Maple1)確認Matlab和Maple都已經安裝。

2)?確認設置環境變量:MATLAB_SYMBOLIC=Maple

3)?安裝Maple Toobox for Matlab可以在Maple15安裝目錄下找到:MapleToolbox.bat 。 運行依向導運行之,并且依次按提示選擇Maple和Matlab的安裝目錄。

4)啟動Matlab 并執行命令:toolbox_version,驗證Maple工具箱是否安裝成功

如果成功,該命令返回: toolbox_version=maple

5)確保Matlab真的會使用Maple符號計算引擎

在Matlab命令行中輸入: pathtool , 執行之會彈出一個對話框,下拉到最后,選中最后兩個,然后點擊左邊的”Move to Top“(移動到頂端)按鈕,然后選擇保存。exit退出matlab,現在設置好了。

6)重啟Matlab,驗證之:maple(‘discrim(a*x^2+b*x+c,x)’)

int(‘atan(x)/x^(3/2)’,0,1)

syms x

maple(‘solve(x^2*exp(x)-10,x)’)

maple(‘plot(exp(x)*x^2-1, x = -5 .. .5)’)

如果能正確地返回結果,則表明安裝配置成功.

二)在Maple環境中調用Matlab1)確認Matlab和Maple都已經安裝。

2)確認已將%MATLAB%\bin;%MATLAB%\bin\win32添加到PATH的環境變量中,其中%MATLAB%就是Matlab的安裝路徑。

3)重新啟動Maple,執行如下代碼看是否正常

Matlab[setvar]("x",3.14);

Matlab[getvar]("x");

如果能正確地返回結果,則表明安裝配置成功.

另:我們可以注意到,隨著這個的代碼的執行,會自動打開一個Matlab命令行窗口。

如果你愿意的話,可以在這個窗口中輸入:x 。查看其結果,看看是否和Maple中的結果一致。

你可以手工啟動這個Matlab命令行窗口:?? Matlab[openlink]();

你可以通過Matlab[closelink](); 來關閉這個Matlab命令窗口。

三)在Matlab中調用Mathematica1)確認Matlab和Mathematica都已經安裝,并且為了編譯源代碼還要求安裝Microsoft Visual Studio

2)確認已將Mathematica的安裝目錄添加到PATH的環境變量中。

3)下載Mathematica Symbolic Toolbox for MATLAB – Version 2.0???????http://library.wolfram.com/infocenter/MathSource/5344/

并將其中的math.zip\mathematica_for_matlab\math_windows.zip\的文件解包到%MATLAB%\toolbox\mathematica目錄下,并且刪除其中math.dll(因為這個文件太老,可能不適用于當前版本)

4)確定Mathematica中mathlink.h所在的目錄,以及ml32i1m.lib所在的目錄,比如,對我的系統而言在:

D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32\include

D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32\lib

將這兩個文件復制到%MATLAB%\toolbox\mathematica中 .

修改mathrun.m,將C:\XXX 替換為%MATLAB%\toolbox\mathematica的全路徑目錄

5)確認Microsoft Visual Studio作為默認編譯器:

打開Matlab命令行,執行mex –setup?選擇Microsoft Visual Studio作為默認編譯器。(建議設置好后退出Matlab)

6)再次打開Matlab命令行,將當前目錄切換到%MATLAB%\toolbox\mathematica, 然后運行mathrun.m?? ,這個程序將會編譯math.c

如果編譯成功,確認%MATLAB%\toolbox\mathematica 已被添加到Matlab的Path路徑中。

最后運行在Matlab環境下運行測試代碼: testscript.m 確認是否配置成功.

另:使用方法直接可參見testscript.m的代碼.

四)在Mathematica中調用Matlab1)確認Matlab和Mathematica都已經安裝,并且為了編譯源代碼還要求安裝Microsoft Visual Studio

2)下載 mEngine

http://library.wolfram.com/infocenter/MathSource/4821/

將壓縮包mEngine.zip\mEngine\mEngineSource中的的文件復制到 D:\Program\Mathematica\8.0\AddOns\Applications\matlab

將壓縮包mEngine.zip\mEngine中的的文件mEngine.m和mEngine.nb也復制到 D:\Program\Mathematica\8.0\AddOns\Applications\matlab

3)確認已將%MATLAB%\bin;%MATLAB%\bin\win32添加到PATH的環境變量中,其中%MATLAB%就是Matlab的安裝路徑。

4)打開Microsoft Visual Studio命令行環境,切換目錄cd D:\Program\Mathematica\8.0\AddOns\Applications\matlab5)在Microsoft Visual Studio命令行環境中,設置臨時的編譯環境(包括MathLink開發環境和Matlab開發環境)SET MATHLINK=D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32

SET MATENGINE=D:\Program\MATLAB\R2011a\extern

SET PATH=%PATH%;%MATHLINK%\bin\

SET INCLUDE=%INCLUDE%;%MATHLINK%\include\;%MATENGINE%\include\

SET LIB=%LIB%;%MATHLINK%\lib\;%MATENGINE%\lib\win32\microsoft6)在Microsoft Visual Studio命令行環境中,設置編譯參數SET CL=/nologo /c /DWIN32 /D_WINDOWS /W3 /O2 /DNDEBUG

SET LINK=/NOLOGO /SUBSYSTEM:windows /INCREMENTAL:no /PDB:NONE kernel32.lib user32.lib gdi32.lib7)在Microsoft Visual Studio命令行環境中,?編譯生成mEngine.exeMPREP template.tm -o templatetm.c

CL *.c

LINK *.obj ml32i3m.lib? libeng.lib libmx.lib /OUT:mEngine.exe8)設置mEngine的Mathematica的搜索路徑:

在Mathematica中查看$BaseDirectory的值。(我系統中其值為 C:\ProgramData\Mathematica)

然后在$BaseDirectory\Kernel\init.m中添加一行代碼, 保存,重啟Mathematica .AppendTo[$Path,ToFileName[{$InstallationDirectory,"AddOns","Applications","matlab"}]]9)參考mEngine.nb學習其用法且驗證安裝是否成功.

另:使用前的加載方法:??<< mEngine`

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532846.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532846.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532846.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyTorch中的topk方法以及分類Top-K準確率的實現

PyTorch中的topk方法以及分類Top-K準確率的實現 Top-K 準確率 在分類任務中的類別數很多時&#xff08;如ImageNet中1000類&#xff09;&#xff0c;通常任務是比較困難的&#xff0c;有時模型雖然不能準確地將ground truth作為最高概率預測出來&#xff0c;但通過學習&#…

java高級語言特性,Java高級語言特性之注解

注解的定義Java 注解(Annotation)又稱 Java 標注&#xff0c;是 JDK1.5 引入的一種注釋機制。注解是元數據的一種形式&#xff0c;提供有關于程序但不屬于程序本身的數據。注解對它們注解的代碼的操作沒有直接影響。注解本身沒有任何意義&#xff0c;單獨的注解就是一種注釋&am…

C/C++中的typedef 和 #define

C/C中的typedef 和 #define typedef C/C中的關鍵字typedef允許用戶為類型名來起一個新名字&#xff0c;通常會是縮寫或者能夠清晰表明類型含義的新名字。 例&#xff1a; typedef unsigned int UINT; UINT 100;值得注意的是&#xff0c;typedef除了為C/C內置的數據類型取別…

php3.2.3 升級,thinkphp3.2.3 升級到3.2.4時出錯問題

有些項目最初用OneThink做的&#xff0c;而OneThink 默認使用的TP 是3.2.0 的&#xff0c;沒事的時候就想給升級一下&#xff0c;但是直接復制進去的時候&#xff0c;有錯誤&#xff0c;導致OneThink 不能運行&#xff0c;排查后&#xff0c;需要修改兩個地方1、修改 Applicati…

Positional Encodings in ViTs 近期各視覺Transformer中的位置編碼方法總結及代碼解析 1

Positional Encodings in ViTs 近期各視覺Transformer中的位置編碼方法總結及代碼解析 最近CV領域的Vision Transformer將在NLP領域的Transormer結果借鑒過來&#xff0c;屠殺了各大CV榜單。對其做各種改進的頂會論文也是層出不窮&#xff0c;本文將聚焦于各種最新的視覺trans…

mysql 分析查詢語句,MySQL教程之SQL語句分析查詢優化

怎么獲取有功能問題的SQL1、經過用戶反應獲取存在功能問題的SQL2、經過慢查詢日志獲取功能問題的SQL3、實時獲取存在功能問題的SQL運用慢查詢日志獲取有功能問題的SQL首要介紹下慢查詢相關的參數1、slow_query_log 發動定制記載慢查詢日志設置的辦法&#xff0c;能夠經過MySQL指…

關于PyTorch中的register_forward_hook()函數未能執行其中hook函數的問題

關于PyTorch中的register_forward_hook()函數未能執行其中hook函數的問題 Hook 是 PyTorch 中一個十分有用的特性。利用它&#xff0c;我們可以不必改變網絡輸入輸出的結構&#xff0c;方便地獲取、改變網絡中間層變量的值和梯度。這個功能被廣泛用于可視化神經網絡中間層的 f…

geoda權重矩陣導入matlab,空間計量經濟學-分析解析.ppt

廈門大學 鄧明 空間截面回歸模型 地理加權回歸模型 地理加權回歸模型擴展了普通線性回歸模型。在GWR模型中&#xff0c;特定區位的回歸系數不再是利用全部信息獲得的假定常數&#xff0c;而是利用鄰近觀測值的子樣本數據信息進行局域(Local)回歸估計而得&#xff0c;并隨著空間…

樹莓派攝像頭基礎配置及測試

樹莓派攝像頭基礎配置 step 1 硬件連接 硬件連接&#xff0c;注意不要接反了&#xff0c;排線藍色一段朝向網口的方向。&#xff08;筆者的設備是樹莓派4B&#xff09; step 2 安裝raspi-config 安裝 raspi-config raspi-config在raspbian中是預裝的&#xff0c;而在kali、…

matlab sobel銳化,sobel銳化 - yirui wu.ppt

sobel銳化 - yirui wu第六章 圖像銳化 圖像銳化的概念 圖像銳化的目的是加強圖像中景物的細節邊緣和輪廓。 銳化的作用是使灰度反差增強。 因為邊緣和輪廓都位于灰度突變的地方。所以銳化算法的實現是基于微分作用。 圖像銳化方法 圖像的景物細節特征&#xff1b; 一階微分銳化…

使用百度云智能SDK和樹莓派搭建簡易的人臉識別系統 Python語言版

硬件 樹莓派4B一個CSI攝像頭一個 筆者使用的是樹莓派4B和CSI攝像頭&#xff0c;但是樹莓派3和USB攝像頭等相似設備均可。 百度云智能設置 Step 1 登錄 百度云智能 網址https://cloud.baidu.com/ 首先登錄百度賬號&#xff0c;與百度云、百度貼吧等互通&#xff0c;可直接…

php 5.6 引用傳遞,升級到5.6.x后如何在php中修復引用傳遞

我最近將fom php 5.2升級到5.6,并且有一些代碼我無法修復&#xff1a;//Finds users with the same ip- or email-addressfunction find_related_users($user_id) {global $pdo;//print_R($pdo);//Let SQL do the magic!$sth $pdo->prepare(CALL find_related_users(?));$…

RuntimeError: [enforce fail at inline_container.cc:145] . PytorchStreamReader failed reading zip arc

RuntimeError: [enforce fail at inline_container.cc:145] . PytorchStreamReader failed reading zip archive: failed finding central directory 原因分析 這個報錯是出現在PyTorch在讀入模型參數時&#xff1a; checkpoint torch.load(epoch_15.pth, map_locationcpu)…

xp搭建 php環境,windows xp 下 LAMP環境搭建

1. apache安裝步驟如下圖在瀏覽器中輸入&#xff1a;localhost&#xff0c;出現下面頁面說明已成功安裝apache。2. mysql安裝如下圖顯示在運行里面輸入cmd &#xff0c;然后連接測試mysql &#xff0c;如圖所示&#xff1a;3. php安裝(1)將php壓縮包解壓到安裝路徑中的php目錄…

C++中的虛函數(表)實現機制以及用C語言對其進行的模擬實現

C中的虛函數(表)實現機制以及用C語言對其進行的模擬實現 聲明&#xff1a;本文非博主原創&#xff0c;轉自https://blog.twofei.com/496/&#xff0c;博主讀后受益良多&#xff0c;特地轉載&#xff0c;一是希望好文能有更多人看到&#xff0c;二是為了日后自己查閱。 前言 …

php 前端模板 yii,php – Yii2高級模板:添加獨立網頁

我在backend / views / site下添加了help.php,并在SiteController.php下聲明了一個能夠識別鏈接的函數public function behaviors(){return [access > [class > AccessControl::className(),rules > [[actions > [login, error],allow > true,],[actions > […

C++中數組和指針的關系(區別)詳解

C中數組和指針的關系&#xff08;區別&#xff09;詳解 本文轉自&#xff1a;http://c.biancheng.net/view/1472.html 博主在閱讀后將文中幾個知識點提出來放在前面&#xff1a; 沒有方括號和下標的數組名稱實際上代表數組的起始地址&#xff0c;這意味著數組名稱實際上就是…

安裝php獨立環境,0507-php獨立環境的安裝與配置 Web程序 - 貪吃蛇學院-專業IT技術平臺...

1.在一個純英文目錄下新建三個文件夾2.安裝apache(選擇好版本)過程中該填的按格式填好&#xff0c;其余的只更改安裝目錄即可如果報錯1901是安裝版本的問題。檢查&#xff1a;安裝完成后localhost打開為It works!添加到電腦屬性環境變量&#xff1a;3.將php文件解壓文檔放到AMP…

linux中PATH變量-詳細介紹

轉自&#xff1a;https://blog.csdn.net/haozhepeng/article/details/100584451 轉載者勘誤 原文最后提到的 echo 命令對于環境變量的修改無影響。這是肯定的&#xff0c;echo 命令相當于只是一個打印的函數&#xff08;比如 Python 中的 print&#xff09;。這里要修改環境變…

php assert eval,代碼執行函數之一句話木馬

前言大家好&#xff0c;我是阿里斯&#xff0c;一名IT行業小白。非常抱歉&#xff0c;昨天的內容出現瑕疵比較多&#xff0c;今天重新整理后再次發出&#xff0c;修改并添加了細節&#xff0c;另增加了常見的命令執行函數如果哪里不足&#xff0c;還請各位表哥指出。eval和asse…