記錄python調(diào)用matlab編寫的程序中的問題

我是要給matlab程序卒落,利用python 的 tkinter 包做一個(gè)界面化育特。

遇到的問題:
1举反,matlab 報(bào)錯(cuò):引用了已清除的變量 address
程序段:
function y = Test(address)
clc
clear
...
address1 = address
%read.xml
ecg = xmlread(address1);
...
end

經(jīng)過查找問題所在:是因?yàn)?clear 的問題蹂匹。
將clear刪掉岛都,放在end前面即可。

2队魏,剛開始想通過在matlab創(chuàng)建一個(gè).dll文件公般,然后在Python端調(diào)用這個(gè).dll文件,但是
【腳本M文件 & 函數(shù)M文件】
在查找方法的過程中,發(fā)現(xiàn) matlab在編寫程序的時(shí)候官帘,有兩個(gè)M文件:腳本M文件和函數(shù)M文件瞬雹。
在使用的過程中,兩個(gè)程序的最大區(qū)別就是 腳本文件沒有傳參和返回值遏佣。
函數(shù)M文件挖炬,可以傳入?yún)?shù),返回值状婶∫饬玻【用python調(diào)用程序,必須用函數(shù)M文件】
由于開始老師給的文件是:腳本M文件膛虫,故需要將腳本文件轉(zhuǎn)換為函數(shù)M文件草姻,然后才能在python端傳“本地地址”,然后在放在.m程序中稍刀,返回結(jié)果在python段進(jìn)行其他操作撩独。

【腳本文件轉(zhuǎn)換成函數(shù)文件】
查找了很多資料,發(fā)現(xiàn)一種最簡單的方式就是
將腳本M文件的頭账月,加上
function []=函數(shù)名(參數(shù))综膀;
在尾部附加
end ;

例如: Test.m (腳本文件)
a = input('please input number\n','s');
b = input('please input number\n','s');
sum = a+b;
disp(sum); %輸出

Test1.m (函數(shù)文件)
function y = sum(a,b)
c = a+b;
return c ; %直接在命令行 sum(2,3)局齿,結(jié)果就返回了剧劝。

3,【python連接matlab】
在2中提到了抓歼,用.dll讥此。由于不太會,所以又發(fā)現(xiàn)了新的方法谣妻。
用matlab中提供的python引擎就行萄喳。
在 python 中的 import matlab.magine 然后在直接調(diào)用程序。
首先蹋半,安裝引擎他巨。在cmd 命令下,
cd "matlabroot\extern\engines\python" [matlabroot是根據(jù)自己本地的地址找的]
執(zhí)行 python setup.py install
【注意: 有的人會找不見這個(gè)文件目錄湃窍,是因?yàn)閙atlab版本問題闻蛀,我同學(xué)的2014b不可以,另外同學(xué)的2016b就可以了您市,但是最低版本不知道】【matlab 2016b 支持 python 3.5,python 3.6不可以役衡,要用3.6以上要matlab更新】

然后把 .m文件 放在 .py文件可以執(zhí)行的根目錄下茵休,要不然會報(bào)錯(cuò)。錯(cuò)誤應(yīng)該是【未找見參數(shù)或者函數(shù)】這個(gè)。
.py文件:
import matlab
import matlab.engine
eng = matlab.engine.start_matlab()
result = eng.Test1(2,3) #調(diào)用matlba中的Test1.m
print(result)
就可以在編譯器看見最后的結(jié)果榕莺。

4俐芯,如果matlab程序不止一個(gè)文件,就把文件均放在 .py文件所在的目錄下就行了钉鸯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吧史,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子唠雕,更是在濱河造成了極大的恐慌贸营,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岩睁,死亡現(xiàn)場離奇詭異钞脂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捕儒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門冰啃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刘莹,你說我怎么就攤上這事阎毅。” “怎么了点弯?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵扇调,是天一觀的道長。 經(jīng)常有香客問我蒲拉,道長肃拜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任雌团,我火速辦了婚禮燃领,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锦援。我一直安慰自己猛蔽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布灵寺。 她就那樣靜靜地躺著曼库,像睡著了一般。 火紅的嫁衣襯著肌膚如雪略板。 梳的紋絲不亂的頭發(fā)上毁枯,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音叮称,去河邊找鬼种玛。 笑死藐鹤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赂韵。 我是一名探鬼主播娱节,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祭示!你這毒婦竟也來了肄满?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤质涛,失蹤者是張志新(化名)和其女友劉穎稠歉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹂窖,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轧抗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞬测。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横媚。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖月趟,靈堂內(nèi)的尸體忽然破棺而出灯蝴,到底是詐尸還是另有隱情,我是刑警寧澤孝宗,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布穷躁,位于F島的核電站,受9級特大地震影響因妇,放射性物質(zhì)發(fā)生泄漏问潭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一婚被、第九天 我趴在偏房一處隱蔽的房頂上張望狡忙。 院中可真熱鬧,春花似錦址芯、人聲如沸灾茁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北专。三九已至,卻和暖如春旬陡,著一層夾襖步出監(jiān)牢的瞬間拓颓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工描孟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留录粱,地道東北人腻格。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓画拾,卻偏偏與公主長得像啥繁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子青抛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容