2014-02-09 79 views
1

我是Matlab新手,试图做一些数学问题 我知道如何使用内联方法创建函数,但是我需要知道如何使用它来定义具有不同域的函数。 例如:Matlab:创建数学函数

g(t) = 1 for t<=50 
      2 for t> 50 

这怎么可能? 我已经创建了一个使用T = [0:0.01:100]的时间向量,但是如何在两者之间进行关联?所有您的时间 谢谢:)

回答

0

只需使用一个if检查参数,并定义一个函数以通常的方式:

function output = g(t) 
if t<=50 
    output=1 
end 
    output=2 
2

这个简单的解决方案固然有点不直观,如果你不熟悉Matlab的尚未:

function y = g(t) 
y = ones(size(t)); 
y(t>50) = 2; 
end 

如果“内联方法”你的意思是产生一个匿名函数处理,即得到tricker,但在这种情况下,可以在一个更惯用方式:

g = @(t) (t>50) + 1;