Построение кусочной функции в MATLAB - PullRequest
1 голос
/ 15 апреля 2020

Я пытался построить кусочную функцию:

y (t) = a * sin (2 * pi * f * t) для 0

y (t) = 0 для 1 / (2f)

в диапазоне от t = 0 до t = 3.

Может кто-нибудь помочь мне построить это без использования «кусочной» команды и создания функции, возможно, с циклами for и операторами if?

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

в Matlab, как правило, графики строятся путем вычисления значений x / y в дискретизированной сетке.

f=2;
a=1;
t=0:0.01:3;
y=zeros(size(t));
y(t<=1/(2*f))=a*sin(2*pi*f*t(t<=1/2/f));
plot(t,y)

Еще один способ создания такой кусочной функции - создать функцию посвящения или анонимную функцию. рассчитать это в режиме реального времени. Например

y=@(t,f,a) (t<=1/(2*f) & t>=0).*sin(2*pi*f*t)*a;
plot(t,y(t,f,a))
0 голосов
/ 15 апреля 2020

Я пытался что-то вроде этого: function [rate] = y (a, f, t) для t = (0: 3) если t <= (1 / (2 * f)) скорость = а * грех (2 * пи * ф * т); еще скорость = 0; конец конец конец </p>

и затем вызовите: plot (t, y (a, f, t)), чтобы построить график. Не могли бы вы исправить меня, если я ошибаюсь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...