MATLAB Answers

Which could be the smartest way to do what this function does

1 ビュー (過去 30 日間)
Salvatore Mazzarino
Salvatore Mazzarino 2013 年 11 月 12 日
コメント済み: Roger Stafford 2013 年 11 月 12 日
I should have to graph step discret signal. This is the function.
function y = step(a,b,n0,flag)
n = a:b;
y = zeros(1,length(n));
if flag == 0
y(find(n==n0):length(n)) = 1;
else
y(1:find(n==n0)) = 1;
end
stem(n,y), grid on;
xlabel('n');
ylabel('u[n]');
return
Do you think it exists a smarter way to create what I have done wihtout using the if clause?

  0 件のコメント

Sign in to comment.

回答 (1 件)

Roger Stafford
Roger Stafford 2013 年 11 月 12 日
n = a:b;
y = double(((n>=n0)&(flag==0))|((n<=n0)&(flag~=0)));

  2 件のコメント

Salvatore Mazzarino
Salvatore Mazzarino 2013 年 11 月 12 日
Do you think it exist a way without using the flag?
Roger Stafford
Roger Stafford 2013 年 11 月 12 日
As you have the 'step' function defined, the 'flag' input is essential for determining whether it is the beginning portion of a:b or its end portion that is set to 1's. How could you do that "without using the flag"?

Sign in to comment.

タグ


Translated by