欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab如何實(shí)現(xiàn)函數(shù)重載?Matlab實(shí)現(xiàn)函數(shù)重載的方法

  發(fā)布時(shí)間:2016-12-12 14:04:00   作者:佚名   我要評(píng)論
C語言中可以通過參數(shù)的個(gè)數(shù)和數(shù)據(jù)類型來區(qū)分同名函數(shù),實(shí)現(xiàn)函數(shù)的重載。matlab的函數(shù)重載是通過檢查函數(shù)調(diào)用時(shí)輸入輸出的項(xiàng)數(shù)來實(shí)現(xiàn)。下面小編就為大家?guī)鞰atlab實(shí)現(xiàn)函數(shù)重載的方法;一起去看看吧

大家應(yīng)該都知道C++和Java編程能夠?qū)崿F(xiàn)函數(shù)的重載,而當(dāng)我們使用Matlab的一些函數(shù),如:plot函數(shù),可以發(fā)現(xiàn)該函數(shù)可以有不同的輸入,如:plot(data)、plot(t,data)和plot(X,Y,'LineWidth',2)等。這些就是matlab函數(shù)重載的應(yīng)用。

下面我就通過一個(gè)簡單的輸出輸入數(shù)中的最大數(shù)的函數(shù)fun()來說明Matlab在編輯函數(shù)時(shí)如何實(shí)現(xiàn)重載。

方法/步驟:

1.首先打開Matlab(本人使用的是Matlab 2015a,使用其他版本的Matlab影響不大)。在Common Window里輸入edit fun(fun可改為任意字符,只為演示用),打開M文件編輯器,此時(shí)已創(chuàng)建M文件,文件名為fun。

2.在編輯器內(nèi)輸入 function y=fun(varargin),varargin是Matlab內(nèi)部變量,類型為元胞數(shù)組,如果改為其他變量則會(huì)報(bào)錯(cuò)。

3.添加代碼 narginchk(2,3); 保證輸入量的個(gè)數(shù),當(dāng)個(gè)數(shù)小于2或大于3時(shí)程序會(huì)報(bào)錯(cuò)。

4.Matlab內(nèi)部有一個(gè)nargin變量用于存儲(chǔ)函數(shù)中輸入量的個(gè)數(shù)。下面用If語句來實(shí)現(xiàn)函數(shù)的重載。

輸入

if nargin==2

a=varargin{1};

b=varargin{2};

y=max([a,b]);

...

通過這段代碼,函數(shù)可實(shí)現(xiàn)輸入兩個(gè)量時(shí)的功能。

其中用a來存放輸入量的第一個(gè)量,用b來存放輸入量的第二個(gè)量。max()函數(shù)返回輸入矩陣的最大元素。

5.再輸入

elseif nargin==3

a=varargin{1};

b=varargin{2};

c=varargin{3};

y=max([a,b,c]);

end

通過這段代碼,函數(shù)可實(shí)現(xiàn)輸入兩個(gè)量時(shí)的功能。

其中用a來存放輸入量的第一個(gè)量,用b來存放輸入量的第二個(gè)量,用c來存放輸入量的第三個(gè)量。

效果如下圖

6.保存之后,下面對(duì)所編輯的函數(shù)進(jìn)行驗(yàn)證。

Command Window 中分別輸入

answer1=fun(12,13,14)

answer2=fun(16,25)

answer3=fun(16)

answer4=fun(12,13,14,15)

結(jié)果如下圖

7.準(zhǔn)確的講,matlab函數(shù)的重載并不是嚴(yán)格意義上的函數(shù)重載,但是通過對(duì)變量的合理運(yùn)用,能夠?qū)崿F(xiàn)重載的功能。

希望這一條經(jīng)驗(yàn)?zāi)軌驇椭酱蠹遥?/p>

注意事項(xiàng)

編輯函數(shù)是輸入變量一定得是varargin,否則Matlab會(huì)將輸入變量視為一個(gè)。

if語句一定要加end

相關(guān)文章

  • Matlab建立自定義函數(shù)的方法

    我們知道m(xù)atlab中有很多功能的函數(shù),可以直接調(diào)用。但在實(shí)際生活中,面對(duì)不同的問題,有不同的算法,因此有時(shí)候我們需要自定義對(duì)應(yīng)于實(shí)際情況的函數(shù)。Matlab如何建立自定義
    2016-10-28
  • Matlab圖像如何處理?Matlab圖像處理的基本操作

    Matlab是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境;這款軟件功能強(qiáng)大;也可以用于處理圖像;Matlab圖像如何處理?下面小編為大
    2016-10-27
  • Matlab極坐標(biāo)曲線繪制的方法

    matlab是一款商業(yè)數(shù)學(xué)軟件;用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,應(yīng)用非常之廣泛!很多朋友不會(huì)使用Matlab極坐標(biāo)曲線繪制;該
    2016-10-27
  • matlab畫圖線條怎么選擇類型和顏色?

    matlab畫圖線條怎么選擇類型和顏色?matlab繪制圖形的時(shí)候,需要選擇線條的類型和顏色,今天我們就來教大家比較基礎(chǔ)的膠層,下面將以一個(gè)簡單的繪圖為例,需要的朋友可以參
    2016-05-09
  • Matlab怎么繪制離散圖? matlab畫散點(diǎn)圖的教程

    Matlab怎么繪制離散圖?畫離散圖需要使用函數(shù)plot(),及泥潭我們就倆給大家介紹兩種matlab畫散點(diǎn)圖的方法,圖文教程很詳細(xì),需要的朋友可以參考下
    2016-04-26
  • Matlab導(dǎo)出eps或jpg圖片的四種方法

    Matlab怎么導(dǎo)出eps或jpg圖片?方法有很多,之前我們也介紹過,今天我們來給大家補(bǔ)充匯總一下,一共有四種方法,需要的朋友可以進(jìn)來參考一下
    2016-04-08
  • MATLAB怎么讀取excel文件中的數(shù)據(jù)?

    MATLAB怎么讀取excel文件中的數(shù)據(jù)?想將excel中的數(shù)據(jù)導(dǎo)入MATLAB軟件中,但是這里有兩種情況,一種是讀取所有數(shù)據(jù),另一種是讀取指定數(shù)據(jù),下面我們來看看這兩種情況的讀取
    2016-03-09
  • matlab中失誤將command窗口關(guān)掉了該怎么辦?

    matlab中失誤將command窗口關(guān)掉了該怎么辦?關(guān)閉command窗口以后發(fā)現(xiàn)找不到了,該怎么才能調(diào)出command界面呢?請(qǐng)看下文詳細(xì)介紹
    2016-02-29
  • Matlab中怎么更改字體的大小?

    Matlab中怎么更改字體的大?。坑械臅r(shí)候Matlab中默認(rèn)的字體我們不一定看得習(xí)慣,有可能會(huì)覺得很小,想設(shè)置大一點(diǎn)方便看清楚,今天我們就來看看Matlab中更改字體的大小的教程
    2016-02-27
  • matlab如何實(shí)現(xiàn)曲線擬合? matlab做曲線擬合的教程

    matlab如何實(shí)現(xiàn)曲線擬合?我們?cè)谘芯績蓚€(gè)變量之間的關(guān)系時(shí),經(jīng)常要用到曲線擬合,用圖形直觀的展現(xiàn)出變量之間的關(guān)系,下面分享matlab做曲線擬合的教程,需要的朋友可以參考
    2015-11-18

最新評(píng)論