Matlab:创建数学函数

Matlab:创建数学函数,matlab,function,math,Matlab,Function,Math,我对Matlab是新手,正在尝试做一些数学题 我知道如何使用内联方法创建函数, 但是,我需要知道如何使用它来定义具有不同域的函数。 例如: g(t) = 1 for t<=50 2 for t> 50 g(t)=1表示t50 这怎么可能? 我已经使用T=[0:0.01:100]创建了一个时间向量,但是如何将两者联系起来呢? 谢谢大家的时间:)只需使用if检查参数并以通常的方式定义函数: function output = g(t) if t<

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

  g(t) =  1   for t<=50
          2   for t> 50
g(t)=1表示t50
这怎么可能? 我已经使用T=[0:0.01:100]创建了一个时间向量,但是如何将两者联系起来呢?
谢谢大家的时间:)

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

function output = g(t)
if t<=50
   output=1
end
   output=2
函数输出=g(t)

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

function output = g(t)
if t<=50
   output=1
end
   output=2
函数输出=g(t)

如果你还不熟悉Matlab,那么这个简单的解决方案无疑有些不直观:

function y = g(t)
y = ones(size(t));
y(t>50) = 2;
end
如果“inline method”的意思是生成匿名函数句柄,那么这会很棘手,但在这种情况下,可以采用更惯用的方式:

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

如果您还不熟悉Matlab,那么这个简单的解决方案无疑有些不直观:

function y = g(t)
y = ones(size(t));
y(t>50) = 2;
end
如果“inline method”的意思是生成匿名函数句柄,那么这会很棘手,但在这种情况下,可以采用更惯用的方式:

g = @(t) (t>50) + 1;
您可以使用,并使用以下内容定义:

您可以使用,并使用以下内容定义: