最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

使用python調(diào)用MATLAB運(yùn)行.m函數(shù)(方便白嫖大佬們的開源資料)

2023-03-20 15:43 作者:編程小宇e  | 我要投稿


為啥要寫這個(gè)專欄?

因?yàn)楹脽o聊啊啊啊啊?。╞ushi),因?yàn)榻裉靹偤糜玫搅?,有一個(gè)算法有了matlab算法可是改寫成python難度很大,但是整個(gè)項(xiàng)目又必須用python進(jìn)行后續(xù)處理,這時(shí)候就需要學(xué)會(huì)如何使用python調(diào)用matlab,學(xué)會(huì)如此就可以實(shí)現(xiàn)python和matlab之間的反復(fù)橫跳,只要把matlab的算法用函數(shù)封裝起來就可以輕易利用被python利用。如此一想,只需要找到二者中的任何一個(gè)開源算法就可以用為我所用(baipoiao),爽翻了有木有??!

好啦好啦,下面分享環(huán)節(jié):

第一步:安裝好python和matlab,對兩個(gè)軟件的版本有要求,對應(yīng)關(guān)系如下圖:

?

二者對應(yīng)版本要求


第二步:安裝MATLAB Engine引擎:

在matlab安裝目錄下找到如下文件夾:

?

matlab安裝路徑下的文件夾


在Ananconda promote中:cd加文件夾路徑如下圖

?

cmd也可以


敲回車后,再輸入自己的根目錄磁盤,我的是E盤,就輸e:

運(yùn)行文件下的.py文件,python setup.py install

如果報(bào)錯(cuò)建議先檢查python的環(huán)境變量:https://jingyan.baidu.com/article/48206aeafdcf2a216ad6b316.html

?

第三步:用如下代碼啟動(dòng)matlab

# 導(dǎo)入matlab engine

?import matlab.engine

eng = matlab.engine.start_matlab()??#啟動(dòng)matlab engine

#如果需要使用自己編寫的.m文件需要cd到對應(yīng)的文件夾目錄下

eng.cd('(.m文件夾位置)',nargout=0)???

????add?=eng.(函數(shù)名)(?參數(shù) );????#調(diào)用matlab中函數(shù)

eng.quit()

實(shí)例如下:

Matlab函數(shù)

function [a, b, c] = abc(x, y)

%返回三個(gè)結(jié)果

a = x+y;

b = x*y;

c = x/y;

%要返回的值賦值給返回值變量

?

Python函數(shù)

import matlab.engine

eng = matlab.engine.start_matlab()

ret = eng.xyz(1, 2, nargout=3)

#返回三個(gè)結(jié)果

x, y ,z = ret

print(x, y, z)

eng.quit()

結(jié)果為:3 2 1

注意:python傳入matlab時(shí)參數(shù)會(huì)進(jìn)行相對應(yīng)的映射,這個(gè)很重要如果報(bào)錯(cuò)建議print出對應(yīng)變量的type,觀察后再進(jìn)行轉(zhuǎn)換數(shù)據(jù)類型修改代碼,附上官方文檔

https://ww2.mathworks.cn/help/matlab/matlab_external/pass-data-to-matlab-from-python.html

?

最后附上成功調(diào)用matlab engine引擎截圖:


成功案例

說明:這里將python中PCG_resampled數(shù)組的數(shù)據(jù)類型轉(zhuǎn)換成雙精度類型的列表傳給matlab,運(yùn)行HsMM_PCG函數(shù)后返回給python后又轉(zhuǎn)換成np.array進(jìn)行后續(xù)處理。

分享到此結(jié)束,(dalao,點(diǎn)個(gè)贊再走啊啊?。?/p>


使用python調(diào)用MATLAB運(yùn)行.m函數(shù)(方便白嫖大佬們的開源資料)的評論 (共 條)

分享到微博請遵守國家法律
凤冈县| 和平区| 宝坻区| 新化县| 绩溪县| 咸宁市| 红河县| 开鲁县| 克山县| 巴里| 富平县| 绥德县| 卓资县| 应城市| 军事| 会理县| 临沧市| 云阳县| 玉林市| 卢龙县| 务川| 浙江省| 错那县| 镇原县| 衡山县| 阳谷县| 平顺县| 礼泉县| 琼海市| 许昌市| 灵宝市| 大新县| 普安县| 雷州市| 新巴尔虎右旗| 揭东县| 荃湾区| 津南区| 洞头县| 沂源县| 孝感市|