how we can define piecewise function in matlab?

63 ビュー (過去 30 日間)
ebi
ebi 2013 年 10 月 12 日
回答済み: shashi raj 2019 年 10 月 21 日
in maple we can use comamnd:(
f:= piecewise(0 <= t and t <= T1, f1, T1 < t and t < T2, 0, T2 <=t and t <= T3, f1, T3 < t and t < T4, 0)
but in matlab i can not define this function.
please give me som information ...
thanks

採用された回答

Sally Al Khamees
Sally Al Khamees 2016 年 12 月 23 日
編集済み: Sally Al Khamees 2017 年 2 月 21 日
If you have R2016b and the Symbolic Math Toolbox installed, you can just use the piecewise function:

その他の回答 (3 件)

Walter Roberson
Walter Roberson 2013 年 10 月 12 日
You cannot define that as a function in MATLAB. MATLAB functions need to have a defined value for the case where none of the conditions hold. If you were absolutely sure that one of the conditions will hold you would rewrite the Maple function without the final condition, as
piecewise(0 <= t and t <= T1, f1, T1 < t and t < T2, 0, T2 <=t and t <= T3, f1, 0)
This would be
function y = f(t, T1, T2, T3, f1)
y = zeros(size(t));
idx1 = 0 <= t & t <= T1;
y(idx1) = f1;
idx2 = T1 < t & t < T2;
y(idx2) = 0;
idx3 = T2 <= t & t <= T3;
y(idx3) = f1;
y(~(idx1 | idx2 | idx3)) = 0;
end
  4 件のコメント
ebi
ebi 2013 年 10 月 12 日
thanks a lot i will try it ...
Walter Roberson
Walter Roberson 2017 年 2 月 21 日
Note: my later experiments showed that using sym('t->...') cannot possibly create a symbolic function.

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


sixwwwwww
sixwwwwww 2013 年 10 月 12 日
Dear ebi, You need something like this if I understood correctly:
syms f f1
t = input('Enter value of t: ');
% Assuming values of T1, T2 and T3 as follows
T1 = 10;
T2 = 20;
T3 = 30;
if ((t >= 0 && t <= T1) || (t >= T2 && t <= T3))
f = f1; % here you can define f1 as you wish
else
f = 0;
end
Is it ok?
  3 件のコメント
sixwwwwww
sixwwwwww 2013 年 10 月 12 日
Do you input 't' as a time vector? and get f(t) for which you can calculate fft? Is it right?
ebi
ebi 2013 年 10 月 13 日
i plot f(t) from [0..0.336]s and for that time period i have to calculate the integral of (f(t).exp(-i.w.t)dt)=F(w) and then plot F - w .

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


shashi raj
shashi raj 2019 年 10 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by