亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MATLAB 函數的一個輸入變量是另一個函數?

MATLAB 函數的一個輸入變量是另一個函數?

元芳怎么了 2019-02-04 10:06:54
比如有一個function [a,b]=example(c,d,e...)....還有一個function a=example(f,g,h.....)......請問這個比如example里的輸入參數C可不可以是另一個function(比如說example2)?。。。
查看完整描述

2 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

可以,比如你將第二個的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=這個也不算了。。。這個表示這一點的函數值



查看完整回答
反對 回復 2019-03-14
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

好像 不能吧,你可以這樣寫,不過matlab會把這個輸入當字符串 而不會真的去運行example2
例如你有function [a,b]=example(c,d,e...)
有function a=example2(f,g,h.....)
你可以寫[a,b]=example(example2,d,e...)
但有可能會出錯,example2在這里就變成了原來的c,只是一個變量,不是example2這個函數本身

查看完整回答
反對 回復 2019-03-14
  • 2 回答
  • 0 關注
  • 1832 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號