[MatLab] Как написать функция sinc?
function r=sinc(x);
i=find(x==0);
x(i)=1;
r=sin(x)./x;
r(i)=1;
Кто может лучше?
y=ones(size(x;
i=find(x);
y(i)=sin(pi*x(i./(pi*x(i;
плагиат (c)
Signal Proccessing Toolbox. Полный дистрибутив матлаба можешь найти у меня
А твой вариант лучше?
Да. Он лучше. Т.к. память под массив выделяется сразу. (в твоём примере память выделялась постепенно => потери времени на realloc)
Хотя, я может тебя не понял, ты какой массив имеешь ввиду?
Я слажал. У тебя функция нормальная. Только вот вопрос - что передаст MatLab в твою фукцию - ссылку на массив или сам массив. В первом случае у тебя получится модифицированный массив x. А в остальном - намана =)
MatLab зараза, считает быстро, а графики строит долго
Оставить комментарий
mr82
Следуя идеологии MatLab'a. Т.е. входной аргумент может быть какой угодно матрицей.Проблемма в том, как обработать случай x=0.
PS sinc(x) = sin(x)/x; sinc(0)=1;