I need to code a signal.

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.

回答(2 个)

Walter Roberson
Walter Roberson 2018-9-30

0 个投票

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 个评论

what exactly is syms? and what is symfun?
How do I reverse the time of the signal, i.e. a mirror image along the y-axis
reverse_time = @(signal) symfun( signal(-t), t );
result(t) = scale_signal( shift_time( reverse_time(x), 0.75 ), 13 )
fplot(result,[-2 2])

请先登录,再进行评论。

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 个评论

index is not defined in the function.
What value is assigned to y(index) in the case that time(index) < -timeshift ?

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

版本

R2018a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by