Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
1
Matlab 2017

Долго строится fplot, АЧХ 35 четырехполюсников не может построить, как рассчитать в численном виде?

24.01.2021, 16:33. Показов 1310. Ответов 20

Author24 — интернет-сервис помощи студентам
Добрый день! Помогите пожалуйста.

Основная суть: делаю матмодель длинной линии в операторной форме. Для этого подключаю каскадом n-количество четырехполюсников. Точность работы своей матмодели определяю при помощи сравнения АЧХ матмодели в операторной форме и АЧХ идеальной длинной линии с распределенными параметрами.

В матлабе сделал программу для нахождения передаточной функции нескольких четырехполюсников. Передаточная функция создается правильно, совпадает с ручными расчетами. Строится АЧХ, проводятся сравнения. По моим прикидкам требуемая точность работы обеспечится при подключении каскадом примерно 50 - 60 четырехполюсников.

Проблема: АЧХ хорошо строится через fplot до 30 четырехполюсников. Получаются нужные графики (показано в миниатюре). Однако при попытке получить график АЧХ на 35 и более четырехполюсников программа либо виснет, либо выдает пустой график.

Вопрос: как дописать программный код, приведенный ниже так, чтобы MATLAB строил АЧХ для 60+ четырехполюсников?

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
47
syms s L C R G w
 
% Указываем количество редуцированных звеньев
amount_of_reduce = 20
 
% Задаем размерность матрицы
n = amount_of_reduce * 2
 
% Задаем нулевую матрицу размерами "n x n"
A = sym(zeros(n));
 
% Составляем матрицу с тремя диагоналями
for i = 1 : n
    A(i, i+1) = -1;
    A(i,i) = (R + L*s)/amount_of_reduce;
    A(i+1, i) = 1;
end
 
for i = 1 : n
    A(i*2,i*2) = (G + C*s)/amount_of_reduce;
end
 
% Обрезаем до размера "n x n"
A1 = A(1 : n, 1 : n);
 
% Вычисляем передаточную функцию и упрощаем ее
W1 = 1/det(A1);
W1 = simplifyFraction(W1);
W1 = collect(W1);
 
% Заменяем оператор Лапласа на j*w
wa = w * (1i);
WW1 = subs(W1,s,wa);
 
% Вычисляем реальную и мнимую составляющую
P = real(WW1);
Q = imag(WW1);
A = sqrt((P^2) + (Q^2));
 
% Заменяем переменные
AA = subs(A, {L,C,R,G}, [(3.005*10^-4), (6.13*10^-6), (1.15), (10^-14)]);
 
% Строим АЧХ и задаем пределы
fplot(AA, [0 10^6]);
grid on
xlim([0 10^6])
ylim([0 13])
Миниатюры
Долго строится fplot, АЧХ 35 четырехполюсников не может построить, как рассчитать в численном виде?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2021, 16:33
Ответы с готовыми решениями:

Построить частотные характеристики в виде АЧХ, ФЧХ, АФЧХ и ЛАХ
Необходимо построить частотные характеристики в виде АЧХ, ФЧХ, АФЧХ и ЛАХ для...

АЧХ строится с 0
Здравствуйте, пытаюсь построить АЧХ в маткаде, а он мне строит его с 0, попробовал расписать в...

Построить АЧХ звукового файла и нарисовать волны во времени только тех частот которые есть в АЧХ
В С# задали вот такое задание необходимо считать звуковой файл, построить его амплитудно-частотную...

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

20
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 06:19  [ТС] 2
Все еще актуально
0
Модератор
1703 / 1556 / 520
Регистрация: 13.09.2015
Сообщений: 5,374
27.01.2021, 07:49 3
Иван Раков, а не проще было бы вычислить передаточную функцию для одного четырёхполюсника, а потом умножать эту функцию саму на себя столько раз, сколько четырёхполюсников вы подключаете?
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 08:04  [ТС] 4
Умножение передаточной функции самой на себя актуально для последовательного подключения четырехполюсников. Для каскадного подключения необходимо учитывать выход предыдущего звена.

Ссылка по подключениям: https://support17.com/rtcs-lecture-33/
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
27.01.2021, 09:48 5
Цитата Сообщение от Иван Раков Посмотреть сообщение
В матлабе сделал программу для нахождения передаточной функции нескольких четырехполюсников.
четырехполюсники все одинаковые ? схему в студию

Добавлено через 15 минут
Цитата Сообщение от Иван Раков Посмотреть сообщение
при попытке получить график АЧХ на 35 и более четырехполюсников программа либо виснет, либо выдает пустой график.
для amount_of_reduce = 40 считает около 5 мин, график рисует
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 11:45  [ТС] 6
Цитата Сообщение от tokrab Посмотреть сообщение
четырехполюсники все одинаковые ? схему в студию

Добавлено через 15 минут

для amount_of_reduce = 40 считает около 5 мин, график рисует
А попробуйте пожалуйста для 101 элемента рассчитать)
Миниатюры
Долго строится fplot, АЧХ 35 четырехполюсников не может построить, как рассчитать в численном виде?  
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 12:04  [ТС] 7
Кстати, сейчас подумал, а какое время стоит в вашей системе? ode45?
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
27.01.2021, 12:35 8
Цитата Сообщение от Иван Раков Посмотреть сообщение
какое время стоит в вашей системе? ode45?
это где?

Добавлено через 7 минут
четырехполюсники на схеме не идентичны ?

Добавлено через 21 минуту
и что такое G=1e-14 ?
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 12:45  [ТС] 9
Это проводимость изоляции. Четырехполюсники идентичны.
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 13:10  [ТС] 10
А вот что получается при установке amount_of_reduce = 40.
Миниатюры
Долго строится fplot, АЧХ 35 четырехполюсников не может построить, как рассчитать в численном виде?  
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
27.01.2021, 13:15 11
Цитата Сообщение от Иван Раков Посмотреть сообщение
Это проводимость изоляции. Четырехполюсники идентичны.
думаю напрасно вы учитываете изоляцию, лишняя нагрузка на вычисления. Ну где ж они идентичны, если там переставлены значения ?

Добавлено через 2 минуты
Цитата Сообщение от Иван Раков Посмотреть сообщение
А вот что получается при установке amount_of_reduce = 40.
у меня не так, очень была похожа на ту что в первом сообщении
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 13:18  [ТС] 12
Цитата Сообщение от tokrab Посмотреть сообщение
думаю напрасно вы учитываете изоляцию, лишняя нагрузка на вычисления. Ну где ж они идентичны, если там переставлены значения ?

Добавлено через 2 минуты
у меня не так, очень была похожа на ту что в первом сообщении
Тут основной вопрос что это за черта вертикальная?

Цитата Сообщение от tokrab Посмотреть сообщение
думаю напрасно вы учитываете изоляцию, лишняя нагрузка на вычисления. Ну где ж они идентичны, если там переставлены значения ?

Добавлено через 2 минуты
у меня не так, очень была похожа на ту что в первом сообщении
А по схеме вот такая, в той маленькой не увидел переставления.
Миниатюры
Долго строится fplot, АЧХ 35 четырехполюсников не может построить, как рассчитать в численном виде?  
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
27.01.2021, 13:34 13
в 6 сообщ. левый и правый ч/п схемно идентичны, а по параметрам нет. А на последнем рисунке ч/п по параметрам идентичны, а схемно c "натяжкой", L и R переставлены
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 13:44  [ТС] 14
Цитата Сообщение от tokrab Посмотреть сообщение
в 6 сообщ. левый и правый ч/п схемно идентичны, а по параметрам нет. А на последнем рисунке ч/п по параметрам идентичны, а схемно c "натяжкой", L и R переставлены
L и R можно в любом порядке поставить.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
27.01.2021, 15:19 15
в итоге, верна первая или вторая схема ?

Добавлено через 2 минуты
Цитата Сообщение от Иван Раков Посмотреть сообщение
L и R можно в любом порядке поставить.
для одного отдельного ч/п можно, а для комбинации ч/п совсем не факт

Добавлено через 1 час 20 минут
Цитата Сообщение от Иван Раков Посмотреть сообщение
попробуйте пожалуйста для 101 элемента рассчитать
за 3 часа график не появился, прервал решение
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
27.01.2021, 15:24  [ТС] 16
Спасибо большое, что попробовали. Я В MathCAD написал программу, у нее получается только до 90 элементов, потом тоже отказывается считать.
0
Модератор
1703 / 1556 / 520
Регистрация: 13.09.2015
Сообщений: 5,374
27.01.2021, 22:07 17
Цитата Сообщение от Иван Раков Посмотреть сообщение
Умножение передаточной функции самой на себя актуально для последовательного подключения четырехполюсников. Для каскадного подключения необходимо учитывать выход предыдущего звена.
Однако, здесь и тут как раз говорится, что при каскадном соединении передаточные функции четырёхполюсников перемножаются. По ссылке, которую вы привели, не говорится про передаточные функции ничего.
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
28.01.2021, 15:27  [ТС] 18
Добрый день. Вот как необходимо рассчитывать. Здесь показан пример.
 Комментарий модератора 
Правила форума, пункт 5.17. Запрещено избыточное цитирование. Цитируйте только необходимые части сообщений, на которые отвечаете.
0
Модератор
1703 / 1556 / 520
Регистрация: 13.09.2015
Сообщений: 5,374
29.01.2021, 08:46 19
Иван Раков, в общем, как я и писал, передаточная функция каскадно соединённых четырёхполюсников равна произведению передаточных функций каждого четырёхполюсника.
Для одного звена:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{\begin{matrix}U{}_{in}(s)=(L\cdot s+R)\cdot I(s)+{U}_{out}(s)\\ I(s)=(C\cdot s+G)\cdot {U}_{in}(s)\end{matrix}\right.
Отсюда
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{in}(s)=(L\cdot s+R)\cdot (C\cdot s+G)\cdot {U}_{in}(s)+{U}_{out}(s)
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{out}(s)={U}_{in}(s)-(L\cdot s+R)\cdot (C\cdot s+G)\cdot {U}_{in}(s)
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{out}(s)=(1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot {U}_{in}(s)
https://www.cyberforum.ru/cgi-bin/latex.cgi?W(s)=1-(L\cdot s+R)\cdot (C\cdot s+G)
Для следующего звена:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{out}'(s)=(1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot {U}_{in}'(s)
Так как
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{in}'(s)={U}_{out}(s)=(1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot {U}_{in}(s)
то
https://www.cyberforum.ru/cgi-bin/latex.cgi?{U}_{out}'(s)=(1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot (1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot {U}_{in}(s)
https://www.cyberforum.ru/cgi-bin/latex.cgi?W'(s)=(1-(L\cdot s+R)\cdot (C\cdot s+G))\cdot (1-(L\cdot s+R)\cdot (C\cdot s+G))=W(s)\cdot W(s)
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 12
29.01.2021, 13:09  [ТС] 20
Все хорошо, но у Вас в самом начале ошибка. Вы домножаете в первоначальной системе уравнения на Uin, а надо на Uout, и еще токи предыдущего звена учитывать. И передаточная функция даже для одного звена у Вас неправильная. Как будет возможность, пришлю ручной расчет.
0
29.01.2021, 13:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2021, 13:09
Помогаю со студенческими работами здесь

Построить массив в виде строки D (1,5), в котором в качестве значений нужны рассчитать среднегеометрическое
Добрый день, специалисты! Помогите мне, пожалуйста, в полученной матрице d (17,5), все значения,...

Как построить графики АЧХ и ФЧХ по ТПС
Здравствуйте, помогите построить графики АЧХ и ФЧХ, по ТПС,пожалуйста

Как построить АЧХ передаточной функции в MathCAD
Доброго времени суток,требуется помощь, имеется передаточная функция ФВЧ и значения,которые...

Как построить АЧХ и ФЧХ для цепи?
Не могу найти хорошую инструкцию для построения АЧХ и ФЧХ для цепи. Может кто подскажет?

Как построить графики АЧХ, ФЧХ и годографа в Mathcad
Здравствуйте! нужна помощь ! помогите построить графики АЧХ, ФЧХ и годографа.. Добавлено через 7...

Решение СЛАУ в численном виде различными методами, не могу прийти к общему решению
Здравствуйте. Решаю систему линейных уравнений в численном виде. Прибегнул к трем методам решения,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru