![](/img/trans.png)
[英]Is it possible to evaluate a matlab function block in simulink only if a certain input changes?
[英]Matlab function input for a input that changes
調用函數時如何使用變化的輸入? 我遇到的問題是我必須在Matlab中為拋物線偏微分方程的顯式方法編寫代碼,初始條件為u(x,0) =sin(pi*x)
當調用函數我寫
explicit( 0,0,sin(pi*x),0,0,1,0,1,3,2,0.25,0.25)
其余輸入函數引用不同的值和邊界條件。
其中sin(pi*x)
指向我的代碼問題區域。 在代碼自我中,我為此邊界條件編寫了代碼
for j = 1:(n+2)
i = (n+2)
x = (a -h) + h*j
u(i,j) = Y_below
end
Y_below
表示u(x,0) = sin(pi*x)
當邊界條件Y_below
等於任何數字時,這正是我想要的方式。 我不知道在調用函數時如何使用變化的x
我已經嘗試過Google,但我能得到的最接近的是varargin,但我不知道如何使用它。 我是Matlab的新手,這是我必須為作業編寫的第一個程序。 任何幫助將不勝感激!
我不確定這是否是您要的東西,但是
如果您按以下方式定義函數:
function output = myfunction(input1, input2, varargin)
那么varargin
是一個varargin
的參數,它收集所有
除input1,input2外的其他參數。 這意味着
如果您按以下方式調用此函數:
outp = myfunction(inp1, inp2, inp3, inp4, inp5);
然后在此函數中,以下內容將成立:
input1 = inp1;
input2 = inp2;
varargin{1} = inp3;
varargin{2} = inp4;
varargin{3} = inp5;
您可以在nargin
檢查(在函數內)傳遞的參數nargin
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.