Форум программистов, компьютерный форум, киберфорум
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
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru