I need to code a signal.
Show older comments
There is a signal which I need to code.
how do I code it so that I can do operations such as shifting its time or scaling it etc.?
x(t) = t for 0<=t<=1
0 for other values of t.
I tried this but it does not work.
function y=x(time,timeshift)
t_length=length(time);
if(time(index)>=-timeshift)
if(time>0)&&(time<=1)
y(index)=time;
else
y(index)=0;
end
end
end
Please help.
1 Comment
KALYAN ACHARJYA
on 30 Sep 2018
Answers (2)
Walter Roberson
on 30 Sep 2018
0 votes
syms t scale_signal = @(signal, scale_factor) signal * scale_factor; shift_time = @(signal, time_shift) symfun( signal(t-time_shift), t );
x(t) = piecewise(0 <= t & t <= 1, t, 0);
result(t) = scale_signal( shift_time( x, 0.75 ), 13 ) fplot(result,[-2 2])
4 Comments
Pranava J K
on 30 Sep 2018
Pranava J K
on 30 Sep 2018
Walter Roberson
on 30 Sep 2018
reverse_time = @(signal) symfun( signal(-t), t );
result(t) = scale_signal( shift_time( reverse_time(x), 0.75 ), 13 ) fplot(result,[-2 2])
Niyamul Islam Sajal
on 21 Jun 2021
function y=x(time,timeshift)
t_length=length(time);
if(time(index)>=-timeshift)
if(time>0)&&(time<=1)
y(index)=time;
else
y(index)=0;
end
end
end
1 Comment
Walter Roberson
on 21 Jun 2021
index is not defined in the function.
What value is assigned to y(index) in the case that time(index) < -timeshift ?
Categories
Find more on Conversion Between Symbolic and Numeric in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!