有什麼方法可以使用矩陣來實現函數的MULTIPLE輸入參數?使用單個矩陣作爲函數的多個輸入參數
示例:
x=-10:0.1:10;
a=[1 2];
normpdf(x,a);
代替 normpdf(X,A(1),(2));
我可以EVAL做到這一點,這樣
for i=1:nargin(@normalpdf)-1 %in order to get parameter size, taking out the first one which for a pdf is usually x
if i>1
str=[str ','];
end
str=[str 'x(' num2str(i) ')'];
end
normpdf(x, eval(str));
不過,我想知道是否有任何方式做同樣的不使用eval。
編輯:我想說清楚。當然,如果一個矩陣被定義爲fun(a,b),其中b是一個矩陣,這是微不足道的。但是,我可以使用多於一個元素的矩陣,其中每個元素是函數的輸入變量嗎? (比如上例中)等
這就是我一直在尋找的。比預期容易得多。謝謝! – Vaaal88
@Vaaal但這樣做真的值得嗎?在選擇此方法之前,您應該仔細考慮可讀性。特別是只有兩個參數。 – Dan
你好丹。我知道這似乎確實是一種不尋常的方式。但是,請考慮此問題: 我想用n參數調用函數。我想要靈活性,所以我可以輕鬆地改變功能。我將使用eval在運行時評估函數。至於參數,我想在運行時評估它們,因爲根據它們可能會改變的功能。 是的,可重複性降低,但靈活性增加了很多。 – Vaaal88