如何在Matlab中調(diào)用不同工具包中同名函數(shù)
在日常的Matlab編程中,我們經(jīng)常會(huì)面臨不同工具包中可能存在相同名稱(chēng)函數(shù)的情況。那么在需要時(shí),如何準(zhǔn)確調(diào)用不同工具包中的特定函數(shù)呢?下面通過(guò)一個(gè)實(shí)例來(lái)詳細(xì)介紹。 創(chuàng)建兩個(gè)子文件夾并定義函數(shù)首先,在一
在日常的Matlab編程中,我們經(jīng)常會(huì)面臨不同工具包中可能存在相同名稱(chēng)函數(shù)的情況。那么在需要時(shí),如何準(zhǔn)確調(diào)用不同工具包中的特定函數(shù)呢?下面通過(guò)一個(gè)實(shí)例來(lái)詳細(xì)介紹。
創(chuàng)建兩個(gè)子文件夾并定義函數(shù)
首先,在一個(gè)測(cè)試路徑下建立兩個(gè)子文件夾,分別命名為"工具包1"和"工具包2",代表兩個(gè)不同的工具包。在這兩個(gè)文件夾中分別新建函數(shù)文件,并給它們相同的函數(shù)名但功能不同。
實(shí)現(xiàn)加法函數(shù)及保存
打開(kāi)Matlab,創(chuàng)建一個(gè)函數(shù)文件,輸入代碼實(shí)現(xiàn)兩個(gè)數(shù)相加的操作:
```matlab
function c fun_test(a, b)
c a b;
end
```
將該函數(shù)保存到"工具包1"文件夾下。
實(shí)現(xiàn)乘法函數(shù)及保存
同樣地,創(chuàng)建另一個(gè)函數(shù)文件,輸入代碼實(shí)現(xiàn)兩數(shù)相乘的函數(shù):
```matlab
function c fun_test(a, b)
c a * b;
end
```
將該函數(shù)保存到"工具包2"文件夾下。
設(shè)置路徑并調(diào)用函數(shù)
將"工具包1"和"工具包2"的路徑添加到Matlab的路徑中,具體操作為:在Matlab的File菜單中點(diǎn)擊Set Path,彈出Set Path對(duì)話(huà)框,點(diǎn)擊Add Folder分別加入路徑,并點(diǎn)擊Save后關(guān)閉對(duì)話(huà)框。
現(xiàn)在在Command Window中輸入`funtest(1,2)`和`funtest(3,4)`來(lái)運(yùn)行函數(shù)。由于設(shè)置路徑中"工具包2"在前,所以實(shí)際上調(diào)用的是"工具包2"中的fun_test函數(shù)進(jìn)行乘法計(jì)算。
判斷當(dāng)前函數(shù)調(diào)用位置
在Matlab命令窗口中使用`which fun_test`可以判斷當(dāng)前fun_test函數(shù)的調(diào)用位置。
如果想調(diào)用"工具包1"的fun_test函數(shù),可以使用`addpath`函數(shù)臨時(shí)將"工具包1"的路徑加入,再次運(yùn)行函數(shù)時(shí)即可實(shí)現(xiàn)加法操作。
臨時(shí)更改調(diào)用函數(shù)
使用`rmpath`函數(shù)將"工具包1"的路徑臨時(shí)剔除,即可再次調(diào)用"工具包2"中的fun_test函數(shù)進(jìn)行乘法操作。
通過(guò)以上步驟,我們可以靈活地在Matlab中調(diào)用不同工具包中同名函數(shù),實(shí)現(xiàn)所需的功能。