Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/40: Рейтинг темы: голосов - 40, средняя оценка - 4.78
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,293
Записей в блоге: 3
06.03.2020, 14:59
Студворк — интернет-сервис помощи студентам
И, если интересно, такая ФЧХ. Интересно сравнить на каких участках что происходит.
Миниатюры
Построить ЛАЧХ  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2020, 14:59
Ответы с готовыми решениями:

Построить асимптоты ЛАЧХ
Здравствуйте. Получил в Матлабе график передаточной функции, который необходимо аппроксимировать, т.е. провести асимптоты. Можно ли это...

Нужно построить графики афх, ачх, фчх, лачх
Добрый вечер. Как то тут уже решали задачи по тау. Нужно построить графики афх, ачх, фчх, лачх. Кто нибудь может мне тут помоч. Или я...

Как построить график асимптотической лачх для передаточной функции
Прошу объясните для совсем чайников чайниковских, как построить график асимптотической лачх для передаточной функции W(p)=2/(0.5p+1). Если...

40
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
06.03.2020, 15:05
ФЧХ надо бы в градусах
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,293
Записей в блоге: 3
06.03.2020, 16:02
В градусах
Получилось какое-то изломанное интегрирующее звено. На АФЧХ кстати этого излома не видно (хотя можно попробовать построить с очень мелким шагом), если только не построить ее в узком диапазоне частот, как раз там где излом.
Миниатюры
Построить ЛАЧХ  
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
07.03.2020, 21:08
Лучший ответ Сообщение было отмечено dux99 как решение

Решение

до кучи
Миниатюры
Построить ЛАЧХ  
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
07.03.2020, 21:18  [ТС]
tokrab,
Я вот попытался построить такое, но не получилось, как?

Добавлено через 3 минуты
WH,
Но это bode вроде...

tokrab,

Кликните здесь для просмотра всего текста
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
07.03.2020, 21:48
Лучший ответ Сообщение было отмечено dux99 как решение

Решение

Цитата Сообщение от dux99 Посмотреть сообщение
попытался построить такое
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
clear all, close all 
k=100; 
T1=5; w1=1/T1;      
T2=1; w2=1/T2;      
T3=1; w3=1/T3;      
T4=0.5; w4=1/T4;    
T5=0.05; w5=1/T5;   
T6=0.05; w6=1/T6;   
wmax=10000;
w=round(0.01:0.01:wmax,10);
wL=length(w);
n1=find(w==w1);
n2=find(w==w2);
n3=find(w==w3);
n4=find(w==w4);
n5=find(w==w5);
n6=find(w==w6);
L=20*log10(k*ones(1,wL)./w(1:wL))... 
 -[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)]...
 +[zeros(1,n2-1) 20*log10(w(n2:wL)/w2)]...
 +[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)]...
 +[zeros(1,n4-1) 20*log10(w(n4:wL)/w4)]...
 -[zeros(1,n5-1) 20*log10(w(n5:wL)/w5)]...
 -[zeros(1,n6-1) 20*log10(w(n6:wL)/w6)];    
semilogx(w,L,'LineWidth',1.5,'Color',[.8 0 0]), grid
xlabel('Частота,1/с');ylabel('20log(|W|), dB'); 
title('Асимптотическая ЛАХ');
line([1e-2 1e4],[0 0],'LineStyle','--');
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
07.03.2020, 23:32  [ТС]
tokrab,

Интересная реализация... Это получается, что если не суммировать каждую асимптоту, то можно попробовать построить каждое звено отдельно, а потом их совместить.. Получить картинку, которую я выкладывал, если строить от руки...

Добавлено через 15 минут
Хотя нет, это вряд ли

Добавлено через 1 час 13 минут
Эх, не получилось склеить все блоки subplot, где на каждом построена отдельная АЛАЧХ... Ну ладно... Спасибо всем огромное!!
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 08:21
Цитата Сообщение от dux99 Посмотреть сообщение
не получилось склеить все блоки subplot,
а так
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
clear all, close all 
k=100; 
T1=5; w1=1/T1; % звено 1 порядка (-апер.)      
T2=1; w2=1/T2; % звено 2 порядка (+дифф.)       
T3=0.5; w3=1/T3; % звено 1 порядка (+дифф.)          
T4=0.05; w4=1/T4;% звено 2 порядка (-апер.)  
wmax=10000;
w=round(0.01:0.01:wmax,10);
wL=length(w);
n1=find(w==w1);
n2=find(w==w2);
n3=find(w==w3);
n4=find(w==w4);
L=20*log10(k*ones(1,wL)./w(1:wL))... 
 -[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)]...
 +[zeros(1,n2-1) 40*log10(w(n2:wL)/w2)]...
 +[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)]...
 -[zeros(1,n4-1) 40*log10(w(n4:wL)/w4)];
semilogx(w,L,'LineWidth',1.5,'Color',[.8 0 0]), grid
xlabel('Частота,1/с');ylabel('20log(|W|), dB'); 
title('Асимптотическая ЛАХ');
line([1e-2 1e4],[0 0],'LineStyle','--');
%
figure;
L0=20*log10(k*ones(1,wL)./w(1:wL));
subplot(4,1,2);semilogx(w,L0);grid;
title('k+интегратор');ylabel('dB'); 
%
L1=-[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)];
L2=[zeros(1,n2-1) 40*log10(w(n2:wL)/w2)];
subplot(4,1,3);semilogx(w,L1,w,L2);grid;
title('Звенья Т1, Т2');ylabel('dB'); 
%
L3=[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)];
L4=-[zeros(1,n4-1) 40*log10(w(n4:wL)/w4)];
subplot(4,1,4);semilogx(w,L3,w,L4);grid;
title('Звенья Т3,Т4');xlabel('Частота,1/с');ylabel('dB'); 
%
L=20*log10(k*ones(1,wL)./w(1:wL))... 
 -[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)]...
 +[zeros(1,n2-1) 40*log10(w(n2:wL)/w2)]...
 +[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)]...
 -[zeros(1,n4-1) 40*log10(w(n4:wL)/w4)];    
subplot(4,1,1);semilogx(w,L,'LineWidth',1.5,'Color',[.8 0 0]), grid
ylabel('20log(|W|), dB'); title('Асимптотическая ЛАХ');
line([1e-2 1e4],[0 0],'LineStyle','--');
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,293
Записей в блоге: 3
08.03.2020, 10:22
Цитата Сообщение от dux99 Посмотреть сообщение
Но это bode вроде...
Нет, это fortran + gnuplot

Кликните здесь для просмотра всего текста
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
program tau
implicit none
 
 real :: omega, afr, pfr, lafr
 complex, parameter :: j=(0, 1)
 complex :: w, p
 
omega = 0.001
 
 open(unit=100,file='log_data_polar')
 open(unit=101,file='log_data_decart1')
 open(unit=102,file='log_data_decart2')
  
    do while (omega < 20000)
        p = j * omega
        w = 100*(1+0.5*p)*(1+p+p*p) / (p*(1+5*p)*(1+0.05*p)**2)
        afr = abs (w)                   !АЧХ
        pfr = atan2 (aimag(w),real(w))  !ФЧХ
        lafr=20*log10(afr)              !Логарифмическая АЧХ
        write (100,*)  pfr, afr         !Пишем годограф АФЧХ
        pfr = pfr * 180 / 3.1415926     !Перевод угла в градусы
        write (101,*)  omega, pfr       !Пишем ФЧХ
        write (102,*)  omega, lafr      !Пишем логарифмическую АЧХ
        omega = omega + 0.01
    end do
 
 close(100) 
 close(101)
 close(102)
 
 call system('gnuplot -p log_plot_polar.plt')
 call system('gnuplot -p log_plot_decart1.plt') 
 call system('gnuplot -p log_plot_decart2.plt') 
 
end program tau

расчет поточечный, но можно и массивом сделать, дело вкуса.
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
08.03.2020, 10:32  [ТС]
WH,
Не слабо!!
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 10:35
Цитата Сообщение от WH Посмотреть сообщение
fortran

Не по теме:

фортран, алгол... как много в этих звуках былых воспоминаний...

0
WH
08.03.2020, 10:43

Не по теме:

Последняя версия фортрана - стандарт 2018 года, так что "мертвец" вполне себе жив (в нем сейчас даже ООП есть).

0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
08.03.2020, 10:49  [ТС]
tokrab,

А, Вы вот так сделали, я то каждый subplot сбоку строил, на основе вашего кода, а после хотел, поменять на каждом из звеньев масштаб, убрать оси и подвинуть их, совместить, но изменяя масштаб звено перестает иметь привычный вид... Т.е так изменить на каждом subplot масштаб, чтобы при склеивании получилось, что он единый, не вышло...
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 11:17
Цитата Сообщение от dux99 Посмотреть сообщение
так изменить на каждом subplot масштаб, чтобы при склеивании получилось, что он единый, не вышло...
отдельные кусочки склеиваются при сложении/вычитании в коде, по-другому склеивать можно на бумаге, накладывая последовательно бумажные фрагменты друг на друга )))
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
08.03.2020, 11:21  [ТС]
tokrab,

))), ну сложением кода пытался, сейчас попробую еще что-нибудь... Получилось не совсем то, что думал...
Да я бы с большим удовольствием сделал бы на бумаге, если бы препод позволил...
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 11:37
Цитата Сообщение от tokrab Посмотреть сообщение
отдельные кусочки склеиваются при сложении/вычитании в коде
строки 14-18
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
08.03.2020, 13:43  [ТС]
tokrab,

Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
clear all, close all 
k=100; 
T1=5; w1=1/T1; % звено 1 порядка (-апер.)      
T2=1; w2=1/T2; % звено 2 порядка (+дифф.)       
T3=0.5; w3=1/T3; % звено 1 порядка (+дифф.)          
T4=0.05; w4=1/T4;% звено 2 порядка (-апер.)  
wmax=10000;
w=round(0.01:0.01:wmax,10);
wL=length(w);
n1=find(w==w1);
n2=find(w==w2);
n3=find(w==w3);
n4=find(w==w4);
L=20*log10(k*ones(1,wL)./w(1:wL))... 
 -[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)]...
 +[zeros(1,n2-1) 40*log10(w(n2:wL)/w2)]...
 +[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)]...
 -[zeros(1,n4-1) 40*log10(w(n4:wL)/w4)];
semilogx(w,L,'LineWidth',1.5,'Color',[.8 0 0]), grid
xlabel('Частота,1/с');ylabel('20log(|W|), dB'); 
title('Асимптотическая ЛАХ');
line([1e-2 1e4],[0 0],'LineStyle','--');
%
figure (2);
L1=-[zeros(1,n1-1) 20*log10(w(n1:wL)/w1)];
subplot(1,4,1);semilogx(w,L1);grid;
title('k+интегратор');ylabel('dB'); 
%
L2=[zeros(1,n2-1) 40*log10(w(n2:wL)/w2)];
subplot(1,4,2);semilogx(w,L2);grid;
title('Звенья Т1, Т2');ylabel('dB'); 
%
L3=[zeros(1,n3-1) 20*log10(w(n3:wL)/w3)];
subplot(1,4,3);semilogx(w,L3);grid;
title('Звенья Т3,Т4');xlabel('Частота,1/с');ylabel('dB'); 
%
L4=-[zeros(1,n4-1) 40*log10(w(n4:wL)/w4)];
subplot(1,4,4);semilogx(w,L4);grid;
title('Звенья Т3,Т4');xlabel('Частота,1/с');ylabel('dB');


Я понимаю, что на скриншоте не идеал, но я просто показать, чего пытаюсь добиться, но в силу того, что масштаб логарифмический, не получается получить идеальный наклон....

Кликните здесь для просмотра всего текста
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 22:49
Цитата Сообщение от dux99 Посмотреть сообщение
пытаюсь добиться
нет начального участка (должно быть 5 отрезков), склеивать отрезки таким способом смысла нет, так ЛАХи не строят.
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
08.03.2020, 23:04  [ТС]
tokrab,

Я думаю просто построить обычную АЛАЧХ по вашему коду, без отрезков, и объяснить преподу,что в matlab тяжело получить такую картинку (как от руки)...

Добавлено через 16 секунд
tokrab,

вариантов то нет

Добавлено через 22 секунды
tokrab,

да я понимаю
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
08.03.2020, 23:08
Цитата Сообщение от dux99 Посмотреть сообщение
в matlab тяжело получить такую картинку (как от руки)...
почему тяжело, если из кода она в целом получается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2020, 23:08

Построить АЧХ и ФЧХ вручную. В чем отличие ЛАЧХ и АФЧХ?
Уважаемые формучане, help me please, 1. В задании к работе необходимо построить АФЧХ. Верно ли будет воспользоваться методом bode(W)? ...

Построить переходную функцию апериодического звена, а так же ее АЧХ, ФЧХ, асимптотическую ЛАЧХ и годограф в Vissim
Помогите нужно срочно сдавать работу на VisSim. Не знаю как в ней работать. В частности нужно построить переходную функцию апериодического...

ЛАЧХ
Всем привет. Суть в чем: есть ПФ и нужно произвести частотный синтез (ЛАЧХ), но кроме самой ПФ нет никаких данных. Т.е. нужно найти ПФ...

Построение ЛАЧХ
Помогите пожалуйста построить ЛАЧХ по передаточной функции

Производная ЛАЧХ
Есть уравнение ЛАЧХ: clear; clc; syms w ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru