回覆列表
  • 1 # 使用者6941184346232

    MATLAB中inline函式:

    就是定義一個內建函式,本質上說跟function乾的是一樣的事,只不過它可以直接內嵌在命令列裡,不用另外單獨定義function.

    呼叫方法:

    1、作為示例,首先在M檔案內編寫如下函式:

    % function operation

    function [s,n] = calsum(n)

    s = 0;

    for i = 1:n

    s = s + i;

    end

    2、第一種方式直接以函式名呼叫,與之前我的分享《matlab中如何定義函式》一致,呼叫時如下就可:

    >> [sa,na] = eg_sum(100)

    輸出:

    sa =

    5050

    na =

    100

    3、

    以函式控制代碼形式呼叫,函式名作為引數,如下所示:

    >> funame = @eg_sum;

    >> [sum,n] = feval(funame,100)

    函式輸出:

    sum =

    5050

    n =

    100

    4、

    inline函式呼叫格式如下所示:

    >> fname = inline("sum(1:n)","n")

    此時會輸出:

    fname =

    Inline function:

    fname(n) = sum(1:n)

    首先建構函式控制代碼,隨後就可利用feval函式計算:

    >> calsum = feval(fname,100)

    此時就會輸出:

    calsum =

    5050

    5、

    匿名函式呼叫格式: fun = @(arg1,arg2,...)expr,其中expr為函式表示式,arg1、arg2、...等為自變數字串。

    作為示例,如下所示:

    >> fname = @(n)sum(1:n)

    輸出:

    fname =

    @(n)sum(1:n)

    輸入如下形式呼叫:

    >> fsum = feval(fname,100)

    輸出資訊:

    fsum =

    5050

  • 中秋節和大豐收的關聯?
  • 格律詩的韻書有許多字與當前普通話發音相左,您是否認為應該繼續遵從韻書的規定?