1樓:匿名使用者
可以,比如你將第二個的function a=example(f,g,h.....)......
輸入給function [a,b]=example(c,d,e...)....
的c,只需要,再第二個變形成
function [a,b]=example(a,d,e...)....
是的簡單的將第一個函式值賦值給c,就這個意思
還有另一種情況的函式裡面帶入函式,即控制代碼
比如現在我們定義h=@sin,現在h可以當sin用了
比如h(pi/6)=sin(pi/6)
然後,,,將h帶入另一個函式,比如
cos(h(pi/6))
或者帶入某些特定函式,要求特定格式的函式
比如fminsearch
這個函式是用來求某一個多元函式,在某一個點附近的最小值及最小值所在的點的x值
比如f(x)=x1+x2
現在我們求這個函式在(0,0)附近的最小值及最小值所在的點的x值
用法是(特定格式)
[x,fval]=fminsearch(@(x) f(x) [0,0]) 表示求這個函式f(x)以x為自變數 ,在點(0,0)附近的最小值及最小值所在的點的x值
執行結果是
x=這個就不算了,,,
fval=這個也不算了。。。這個表示這一點的函式值
2樓:
好像 不能吧,你可以這樣寫,不過matlab會把這個輸入當字串 而不會真的去執行example2
例如你有function [a,b]=example(c,d,e...)
有function a=example2(f,g,h.....)你可以寫[a,b]=example(example2,d,e...)但有可能會出錯,example2在這裡就變成了原來的c,只是一個變數,不是example2這個函式本身
3樓:
可以啊,比如ode45之類的都可以以函式作為引數,傳入引數的時候前面要加上@
老版本的matlab是用函式名傳入引數的
func(@example) func('example')你看看對應函式的**就理解了
matlab在函式裡,如何呼叫另函式裡面求得的雅可比矩陣並賦值
function aa yake bb 呼叫bb函式,並將其返回值雅可比矩陣付給yakeend 函式bb用來計算雅可比矩陣 function yakebi bb yekebi 內?end有問題歡迎追問容 滿意請採納,謝謝!怎麼在matlab中求雅克比矩陣?matlab中jacobian是用來計算ja...
在函式中定義了變數,如何在另函式使用這個變數
c c 中,函式體內定義的變數具有函式作用域,無法在外部使用這個變數本身。由於版這種定義式在棧記憶體分 權配空間,變數一旦被建立,函式結束後就會被自動銷燬,因此也稱為自動 auto 變數。如果要在多個函式中共享變數,那麼可以使用作用域為全域性 編譯單元的靜態變數。這些變數定義後,在程序開始時自動建立...
matlab中怎樣對二元函式中的變數做數值積分
不行的,數值積分必須給定其它引數。用int函式不行嗎?我給你舉一個可以通用的例子 設z axy by 2 其中a b為常量,x y為變數下面求a 1,b 2,x 3 時,對y在 0,1 上的積分,步驟如下 首先,執行如下命令 yy int a x y b y 2 y 0,1 會顯示以下結果 yy 1...