フィルターのクリア

How to plot a function which is defined on different subintervals

5 ビュー (過去 30 日間)
Cris19
Cris19 2021 年 3 月 7 日
コメント済み: Walter Roberson 2021 年 3 月 10 日
I am trying to plot the function ,
But I don't know how to write the code for the definition of the function f which is given on different subintervals.
  4 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2021 年 3 月 7 日
Cris19
Cris19 2021 年 3 月 7 日
@KALYAN ACHARJYA Thank you, but didn't help.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2021 年 3 月 7 日
There are several methods available. The most straight forward is to write a function that loops over the inputs, testing each one to decide what the result should be.
function y = f(X)
y = zeros(size(X));
for K = 1 : numel(X)
x = X(K);
if x < 2
y(K) = 0;
elseif x <= 5
y(K) = x.^2;
elseif x <= 8
y(K) = x-x.^3;
else
y(K) = 0;
end
end
With regards to those intervals you need, think about floor(x+1/2)
  11 件のコメント
Cris19
Cris19 2021 年 3 月 10 日
Thank you. I wonder if there is an alternative solution. I am interested to find the asymptotic behavior at +infinity of the solution of that ODE. So is this why I think it is interesting to see the plotting of the solution on intervals larger and larger, such as [0,10], [0,500] etc.
I really don't know how to code this...
Walter Roberson
Walter Roberson 2021 年 3 月 10 日
At asymptopic behaviour is
syms n f(x)
D = symsum(dirac(x-n), n, 1, 200)
df = diff(f)
d2f = diff(df)
eqn = d2f + D*df + f == 0
dsolve([eqn, f(0)==0])
but in practice you will not get any solution. Even if you reduce it down to dirac at one particular integer you are not going to get a solution.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by