Re: [討論] 函數代值已回收
※ 引述《kuoyfu (大頭)》之銘言:
: 小弟假設弄了一個函數 f=@(x1,x2) x1^2+x3^5
: 當我輸入f(x1,x2) 便會跑出值
: 可是今天如果我的x1,x2為一個矩陣
: 也就是說我資料檔可能為一個變數X X=[x1,x2]
: 那我一樣要算f(x1,x2)時
: 卻因為格式無法直接打f(X) (無法找到x2值 函數無法計算)
: 當然我可以打f(X(1),X(2))
: 可是如果我今天要把整個架構成一個副程式
: 我丟到副程式的變數個數每次都不一樣
: 這樣f(X(1),X(2))好像就不好
: 不知道有沒有板大有相關經驗呢????
如果要丟到一個 function 的話好像還沒有完全搞定這問題...
當下只有這種爛招... (這是範例)
function [fout] = f(x1, x2, x3)
% 有一個變數叫 nargin, 可以告訴你有幾個參數進來
if (nargin == 1)
% 只做看到一個參數的事
else
if (nargin == 2)
% 只做看到兩個參數的事
else
% 做看到三個參數的事
end
end
---
至於要判斷輸入是一個數還是 matrix 那又是另外一個問題了...
每次參數個數都要不一樣也許還要有 varargin 之類的事, 那就更複雜了.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.50
推
04/02 12:47, , 1F
04/02 12:47, 1F
→
04/03 10:09, , 2F
04/03 10:09, 2F
推
04/03 15:13, , 3F
04/03 15:13, 3F
→
04/03 15:14, , 4F
04/03 15:14, 4F
推
04/18 10:11, , 5F
04/18 10:11, 5F
討論串 (同標題文章)