-
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) 時,應將前面括號中使用的中文括號改為英文。
-
你的問題不清楚。
函式 test(func,x) 被定義,因此它甚至沒有輸出。
此外,第乙個函式定義的名稱是 func1,如果以後要呼叫它,還應該使用 func1 而不是 func
-
1. 在MATLAB中,每個物件都由乙個數字標識,稱為控制代碼。 每次建立物件時,MATLAB 都會為其建立乙個唯一的控制代碼。
2.手柄包含物件的相關資訊引數,可在後續程式中操作更改引數,以達到不同的效果。
3.控制代碼和指標的區別在於,指標對應的是記憶體中資料的乙個位址,獲取指標後可以自由修改資料。 另一方面,控制代碼由系統在生成物件時指定,以區分系統中存在的各種物件。
4.從資料型別的角度來看,它只是乙個16位無符號整數。 控制代碼實際上是指向資源的指標,但與指標不同。 “把手”,把手的意思是把手,把手。
它等效於 C 語言中的函式指標(入口位址),只是控制代碼由唯一的常量整數指示。
5.函式控制代碼提供了一種簡短訪問函式的方法,使用者可以輕鬆呼叫其他函式:在函式呼叫過程中提供可靠性,減少程式中涉及的冗餘,並且可以在使用函式的過程中儲存與函式相關的資訊,特別是有關函式執行的資訊。
使用 @ 或 str2func 命令建立函式控制代碼。
函式控制代碼建立:handle=@functionname,控制代碼是建立的函式控制代碼,functionname 是建立的函式。 或者 handle=str2func(.'functionname')
那麼使用函式控制代碼有什麼好處呢?
函式控制代碼:
我的理解:控制代碼類似於對物件的引用(弱引用),可以通過控制代碼檢視物件的屬性,也可以通過呼叫控制代碼來修改物件的相關屬性。 函式控制代碼可以理解為函式指標、控制代碼、“控制代碼”。
函式控制代碼通常用於匿名函式和設定圖形物件的樣式。
請參閱文章。
-
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 的匿名函式的偏導數,但不能找到所有函式控制代碼的偏導數 - 儘管在語法上是可能的。
-
獲取繪圖物件的控制代碼是控制和操作物件的第一步,也是最重要的一步。 有兩種方法可以獲取控制代碼:1返回方法。
如果仔細檢視 MATLAB 幫助,您會發現幾乎所有繪圖函式都提供了返回繪製物件控制代碼的呼叫,如果要獲取控制代碼,可以在繪圖時使用這些呼叫。
2.追蹤法。
有時使用者可能事先不確定要對哪個物件進行操作,並且在操作過程中確定了要操作的物件(例如,在互動式操作中,滑鼠點選選擇了要操作的物件,或者程式中忘記了控制代碼),那麼就需要跟蹤物件的控制代碼才能找到物件。
求商,可以直接除以兩個數,即x2=y z; 生成的 x2 是帶有小數點(不可整除)的值。 可以呼叫MATLAB的常規函式來求商,x3=ceil(x2); 所以 x3 是商,x1 是餘數。 MATLAB 內建函式工具箱提供了乙個餘數函式 mod,函式的語法為 x1=mod(y,z); 返回的 x 是 y 除法後的餘數。 >>>More