2016-06-14 61 views
0

定義的多變量函數我已經在Matlab中定義的多變量函數爲:集成在一起的邏輯運算

function f=test(x,y) 

if x>=0 && y>0 
f=x+y; 
end 

if x<0 && y>0 
f=-x+y; 
end 

end 

現在我想要的功能集成在Xý固定爲1,所以在命令窗口中我寫道:

[email protected](x) test(x,1); 
integrate(f,-1,1); 

然後,我得到一個錯誤說:

Operands to the || and && operators must be convertible to logical scalar values. 

Error in test (line 3) 
if x>=0 && y>0 

如果我更換由&所有& &與其他一切不變,但另一個錯誤:

Output argument "f" (and maybe others) not assigned during call to "test". 

Error in @(x)test(x,1) 

我很感激,如果有人能幫助我做這個積分數值。

順便說一句,我注意到這裏出現的問題似乎是獨特的,當在函數的定義中有一些邏輯操作。如果我定義

function f=test(x,y) 
    f=x+y; 
end 

,做整體的,因爲它正確地返回2

回答

0

[email protected](x) test(x,1); 
integral(f,-1,1) 

試試這個:

function f=test(x,y) 
f = (x>=0).*(y>0).*(x+y) - (x<0).*(y>0).*(x+y); 
end