MATLAB 函式處理使用問題

發布 科技 2024-08-23
5個回答
  1. 匿名使用者2024-02-01

    1.這兩個函式應儲存在兩個檔案中。

    func1 存在。

    測試存在。

    MATLAB 中的函式定址是在工作路徑中查詢具有相同函式名稱的檔案。

    如果你把兩個函式。

    function [a b]=func1(x,sigma)a=x^2+sigma;

    b=2*x+sigma;

    function test(func,x)sigma=1

    f=@(x) func(x,sigma);

    a b]=f(x);

    如果未在檔案中命名它,則無法對測試函式進行定址; 如果命名,則 func1 作為測試函式呼叫,內部定義的測試函式被視為重複定義的函式,不會被呼叫。

    2.呼叫 test(@func1,2) 時,應將前面括號中使用的中文括號改為英文。

  2. 匿名使用者2024-01-31

    你的問題不清楚。

    函式 test(func,x) 被定義,因此它甚至沒有輸出。

    此外,第乙個函式定義的名稱是 func1,如果以後要呼叫它,還應該使用 func1 而不是 func

  3. 匿名使用者2024-01-30

    1. 在MATLAB中,每個物件都由乙個數字標識,稱為控制代碼。 每次建立物件時,MATLAB 都會為其建立乙個唯一的控制代碼。

    2.手柄包含物件的相關資訊引數,可在後續程式中操作更改引數,以達到不同的效果。

    3.控制代碼和指標的區別在於,指標對應的是記憶體中資料的乙個位址,獲取指標後可以自由修改資料。 另一方面,控制代碼由系統在生成物件時指定,以區分系統中存在的各種物件。

    4.從資料型別的角度來看,它只是乙個16位無符號整數。 控制代碼實際上是指向資源的指標,但與指標不同。 “把手”,把手的意思是把手,把手。

    它等效於 C 語言中的函式指標(入口位址),只是控制代碼由唯一的常量整數指示。

    5.函式控制代碼提供了一種簡短訪問函式的方法,使用者可以輕鬆呼叫其他函式:在函式呼叫過程中提供可靠性,減少程式中涉及的冗餘,並且可以在使用函式的過程中儲存與函式相關的資訊,特別是有關函式執行的資訊。

    使用 @ 或 str2func 命令建立函式控制代碼。

    函式控制代碼建立:handle=@functionname,控制代碼是建立的函式控制代碼,functionname 是建立的函式。 或者 handle=str2func(.'functionname')

    那麼使用函式控制代碼有什麼好處呢?

    函式控制代碼:

    我的理解:控制代碼類似於對物件的引用(弱引用),可以通過控制代碼檢視物件的屬性,也可以通過呼叫控制代碼來修改物件的相關屬性。 函式控制代碼可以理解為函式指標、控制代碼、“控制代碼”。

    函式控制代碼通常用於匿名函式和設定圖形物件的樣式。

    請參閱文章。

  4. 匿名使用者2024-01-29

    function g =getmaths(y)

    g = matlabfunction(sym (y));

    END問的問題和你差不多,看ID,應該是你吧?

    2.首先,澄清術語:

    控制代碼函式]:所說的“控制代碼函式”應該是指使用 getmaths 生成的函式,它不稱為“控制代碼函式”,而是稱為“匿名函式”。我的印象不是有“控制代碼函式”這樣的東西,而是乙個常用的函式控制代碼概念。

    函式、自變數]:您在標題中提到的函式和自變數都是數學概念,它們在MATLAB中應該相互對應符號表示式(符號表達)和符號變數(symbolic variable)。特別要注意:

    程式語言功能這個概念與數學上不同,而變數概念和自變數這也不是一回事。

    3. 在澄清了上述術語之後,現在可以說,上面**中 getmaths 呼叫的 matlab函式是將符號表示式轉換為匿名函式(當然,如果需要,也可以將其轉換為M檔案)。

    第二個 ** 的作用是將字串 s 轉換為乙個匿名函式 y,此時 MATLAB 工作區中有兩個變數s 和 y,然後第三個 ** 試圖找到 diff(y,a) 的偏導數,此時,從程式語言的角度來看,不存在變數(注意,不是數學上的。自變數所以當然會有錯誤。

    4. 使用 syms a 來宣告,本質上就是建立乙個 sym 型別的變數 a,變數有定義,當然以後也可以用到。 還值得一提的是,MATLAB 系統中有多個 diff 函式(diff -all),MATLAB 會根據輸入引數的型別、這些函式的型別以及它們在路徑中的順序來決定呼叫哪乙個函式。

    5. 如果要獲取函式 y 的引數,可以使用 symvar 或 findsym 函式,但需要轉換輸入引數 y。

    symvar(char(y))

    symvar(sym(y))

    findsym(sym(x))

    呼叫 diff(y,a) 時不需要進行此類轉換的原因是,輸入引數首先在 diff 函式內部強制轉換,而 symvar 或 findsym 函式則不需要(版本可能存在差異)。 順便說一句,可以找到帶有 diff 的匿名函式的偏導數,但不能找到所有函式控制代碼的偏導數 - 儘管在語法上是可能的。

  5. 匿名使用者2024-01-28

    獲取繪圖物件的控制代碼是控制和操作物件的第一步,也是最重要的一步。 有兩種方法可以獲取控制代碼:1返回方法。

    如果仔細檢視 MATLAB 幫助,您會發現幾乎所有繪圖函式都提供了返回繪製物件控制代碼的呼叫,如果要獲取控制代碼,可以在繪圖時使用這些呼叫。

    2.追蹤法。

    有時使用者可能事先不確定要對哪個物件進行操作,並且在操作過程中確定了要操作的物件(例如,在互動式操作中,滑鼠點選選擇了要操作的物件,或者程式中忘記了控制代碼),那麼就需要跟蹤物件的控制代碼才能找到物件。

相關回答
2個回答2024-08-23

第二個關係圖是巢狀函式。

巢狀函式位於另乙個函式內。 >>>More

4個回答2024-08-23

太多了。 在幫助下看它。

它應該以分類的方式看待。 >>>More

14個回答2024-08-23

這種做法的常見情況是,在某些條件下,中間**有乙個直接返回語句。 >>>More

11個回答2024-08-23

例如,請參閱幫助。

16個回答2024-08-23

求商,可以直接除以兩個數,即x2=y z; 生成的 x2 是帶有小數點(不可整除)的值。 可以呼叫MATLAB的常規函式來求商,x3=ceil(x2); 所以 x3 是商,x1 是餘數。 MATLAB 內建函式工具箱提供了乙個餘數函式 mod,函式的語法為 x1=mod(y,z); 返回的 x 是 y 除法後的餘數。 >>>More