|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.11.2020, 20:00 | #1 |
Регистрация: 10.11.2020
Сообщений: 4
|
MatLab
Необходима помощь: дали задание для разложения ряда Фурье в МатЛАБ, без использования специальных программ( встроенных функций), после значения М=1000 и больше весь ряд должен уходить в видеоимпульс, но происходит то, что ряд строится заново на каждом М кратным 1000, подскажите в чем ошибка, вот код:
clear all k=0; b1=0; b2=2; b3=b1; to=0; t1=4; t2=6; tk=10; dt=(tk-to)/1000; t=to : dt:tk; N=size(t,2); n=1; while n<=N if t(n)<=t1 y(n)=k*t(n)+b1; elseif t(n)>t1 && t(n)<t2 y(n)=k*t(n)+b2; else y(n)=k*t(n)+b3; end n=n+1; end figure(1) plot(t,y); a0=(2/tk)*trapz(t,y); w=(2*pi/tk); z=0; m=1; M=1400; q1=0; qk=w*M; dq=(qk-q1)/(M-1); q=q1 : dq:qk; %разложение Фурье while m<=M c=(cos(m*w*t));%условие для второго коэффициента i=y.*c;% умножение на видеоимпульс an=(2/tk)*trapz(t, i);% второй коэффициент s=(sin(m*w*t));%условие для третьего коэффициента o=y.*s;% умножение на видеоимпульс bn=(2/tk)*trapz(t, o);% третий коэффициент r=(an*c)+(bn*s);%сумма н-ых коэффициентов z=z+r;% суммирование всех коэффициентов phi(m)=atan(bn/an); %условие фазового спектра A(m)=(an^2+bn^2);% подкоренное условие амплитудного спектра An=sqrt(A);% условие амплитудного спектра m=m+1; end l=((a0/2)+z);% ряд Фурье v=l.*y;% умножение ряда Фурье на видеоимпульс figure(2) plot(t,v);%вывод итогового сигнала для Фурье %амплитудный спектр figure stem(q,An) %фазовый спектр figure plot(q,phi) %построение анимации figure plot(t,v); f=getframe for g=0:1:M c=(cos(g*w*t)); i=y.*c; an=(2/tk)*trapz(t, i); s=(sin(g*w*t)); o=y.*s; bn=(2/tk)*trapz(t, o); r=(an*c)+(bn*s); z=z+r; l=((a0/2)+z); v=l.*y; plot(t,v) for i=1:10000 end drawnow f=getframe; end Премного благодарен! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Matlab | Алена26 | Фриланс | 0 | 14.05.2017 11:32 |
Matlab | orandzheviyman | Помощь студентам | 0 | 17.03.2015 22:33 |
MATLAB | GhostOfNight | Помощь студентам | 0 | 30.05.2014 15:18 |
Matlab | linass | Фриланс | 1 | 16.11.2012 06:36 |
Matlab | SKS | Свободное общение | 3 | 15.12.2009 01:15 |