MATLAB - 函式引數



在 MATLAB 中,函式接收引數(傳遞給它的變數或值),並使用這些引數執行特定操作。這些引數對於向函式提供輸入資料並使其能夠執行已定義的任務至關重要。

瞭解如何在 MATLAB 程式設計中使用函式引數非常重要。在本章中,我們將探討 MATLAB 函式引數,涵蓋它們的型別、使用方法和最佳實踐。

MATLAB 函式引數

讓我們首先討論函式引數的最佳實踐。

指定引數型別

在函式的註釋中解釋您期望的哪種資料和格式。這有助於使用者瞭解如何正確使用您的函式。

檢查引數有效性

在函式內驗證輸入引數,以確保它們符合預期標準。這可以防止執行時錯誤並增強程式碼的健壯性。

使用描述性名稱

為輸入和輸出引數選擇有意義的名稱。這提高了程式碼的可讀性,並使其他人(以及您自己)更容易理解引數的用途。

最小化全域性變數

避免在函式中使用全域性變數,因為它們會使您的程式碼模組化程度降低,並且更難除錯。相反,將必要的資料作為函式引數傳遞。

函式引數型別

以下是各種型別的函式引數:

1. 輸入引數(引數)

這些是您傳遞給函式的值或變數,供其在執行期間使用。輸入引數允許您提供函式將要處理的資料。您可以傳遞各種型別的資料,例如數字、陣列,甚至是更復雜的資料結構。

2. 輸出引數(返回值)

MATLAB 中的一些函式會返回您可能希望在程式碼中捕獲和使用結果。這些被稱為輸出引數。您在函式的定義中指定這些引數,函式將結果儲存在這些變數中,供您使用。

定義和使用函式引數的語法

要在 MATLAB 中定義函式引數,您可以使用 function 關鍵字,後跟括號中的引數列表。這是一個基本的語法模板:

function outputArg = functionName(inputArg1, inputArg2, ...)
   % Function body
   % Use inputArg1, inputArg2, ... to perform calculations
   outputArg = result; % Assign the result to outputArg
end

functionName 是函式的名稱。

inputArg1, inputArg2, ... 是您傳遞給函式的輸入引數。

result 是您在函式體中賦值為輸出引數(返回值)的值或變數。

向函式傳遞引數

呼叫函式時,您在括號內傳遞所需的輸入引數。然後,函式使用這些值執行其任務。

result = functionName(argument1, argument2);

上面我們已經看到了函式引數如何傳遞進行計算的基本方法。

現在我們將看一下 matlab 中一個更高階的功能,稱為 **arguments**。

在 MATLAB 中,**arguments** 塊是一個強大的功能,允許您靈活地定義和管理函式的輸入和輸出引數。它提供對這些引數屬性的詳細控制,包括它們的名稱、維度、資料型別(類)和驗證規則。

arguments 塊用於指定函式的輸入和輸出引數。

語法

arguments
   argName1 (dimensions) class {validators} = defaultValue
   ...
   argNameN
end

argName1, ..., argNameN - 這些是函式引數的名稱。您在此處列出所有引數,包括輸入和輸出。

(dimensions) - 您可以指定引數的維度或大小。例如,您可以將矩陣引數定義為 (2,3) 以指示一個 2x3 矩陣。

class - 這指定了引數的預期資料型別或類。

{validators} - 您可以在花括號內包含驗證函式或條件,以檢查輸入值是否滿足特定條件。

= defaultValue - 您可以為輸入引數提供預設值,如果呼叫函式時未提供該引數,則使用這些預設值。

這是一個使用 arguments 的示例:

function [square, cube] = calculateSquareAndCube(x)
   % Calculate the square and cube of a number
   
   % Define input argument
   arguments
      x double
   end
   
   % Calculate square and cube
   square = x^2;
   cube = x^3;
end

上面的函式計算給定數字的平方和立方。

函式宣告 - 函式使用 function 關鍵字宣告,它接受一個輸入引數 x。

輸入引數規範 - 在函式內部,arguments 關鍵字用於將輸入引數 x 指定為雙精度浮點數。這意味著函式期望 x 是一個具有雙精度資料型別的實數。

計算 - 指定輸入引數後,函式計算兩個值:

  • square - 它使用 ^ 運算子將輸入 x 提高到 2 的冪來計算其平方。
  • cube - 它使用 ^ 運算子將輸入 x 提高到 3 的冪來計算其立方。

返回值 - 函式返回兩個值,square 和 cube,如函式簽名中指定的:[square, cube]。這些值是計算的結果。

在 matlab 中,該函式儲存為 calculateSquareAndCube.m 檔案,如下所示:

matlab function

在 matlab 中的執行如下:

>> number = 4;
>> [square,cube] = calculateSquareAndCube(number)
square =

   16

cube =

   64
廣告