Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
5 / 5 / 1
Регистрация: 22.05.2013
Сообщений: 174
1

Как совместить два рисунка на одном figure?

23.05.2013, 16:20. Показов 3367. Ответов 8
Метки нет (Все метки)

как вывести на одном рисунке ЛАЧХ и окружности?????

ЛАЧХ
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
K = 35;
w1 = logspace(0,3,100000); 
Wp11 = tf(1, [0.04 1]);
Wp22 = tf(1, [0.15 1]);
Wp33 = tf(1, [1 0]);
disp('Исходная передаточная функция разомкнутой системы:');
Wpisx = Wp11*Wp22*Wp33*K
figure
bode(Wpisx,w1)
hold on
grid on
bode(Wpg,w1)
bode(Wpkor,w1)

окружности
Matlab M
1
2
3
4
5
6
7
8
9
x1=-M^2/(M^2-1);
y1=0;
for r1=0:0.01:(M/(M^2-1))
for i=1:365
    x(i)=[x1+r1*cos(i*pi/180)];
    y(i)=[y1+r1*sin(i*pi/180)];
end
bode(x,y)
end
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2013, 16:20
Ответы с готовыми решениями:

Как совместить два графика на одном?
Как совместить два графика в один? В моем случае kg j (r j) должен идти от 0 до 1.633, а kgg t (r...

Как совместить два эффекта (zoomIn и zoomOut) в одном
Есть вот такой вот код - animated infinite zoomIn, позволяющий элементу зациклено всплывать (с...

Как совместить 2 графика на одном чертеже
как в labview показать на waveform graph 2 графика вместе для возможности сравнения?

Как совместить в одном запросе комбобокс и радиобатн
Всем доброго времени суток! Помогите новичку! Решила заняться саморазвитием, в универе изучала С++,...

__________________
8
936 / 836 / 121
Регистрация: 23.11.2012
Сообщений: 2,487
23.05.2013, 16:26 2
А что сделать вообще нужно? А то тут штук 5 переменных не объявлено. Я аж теряюсь
1
5 / 5 / 1
Регистрация: 22.05.2013
Сообщений: 174
23.05.2013, 16:43  [ТС] 3
Dimka_rtf,
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
% ЛАЧХ
K = 35;
w1 = logspace(0,3,100000); 
Wp11 = tf(1, [0.04 1]);
Wp22 = tf(1, [0.15 1]);
Wp33 = tf(1, [1 0]);
disp('Исходная передаточная функция разомкнутой системы:');
Wpisx = Wp11*Wp22*Wp33*K
figure
bode(Wpisx,w1)
hold on
grid on
 
M =  1.2321;
 
% окружности
x1=-M^2/(M^2-1);
y1=0;
for r1=0:0.01:M/(M^2-1))
   for i=1:365
     x(i)=[x1+r1*cos(i*pi/180)];
     y(i)=[y1+r1*sin(i*pi/180)];
end
bode(x,y)
end
0
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
23.05.2013, 16:44 4
ну это bode(x,y) явно не в тему пробуй plot(x,y)
0
5 / 5 / 1
Регистрация: 22.05.2013
Сообщений: 174
23.05.2013, 16:48  [ТС] 5
Зосима, получилось..спасибо.... Мне нужно выводить показательль коллебательности в логарифмическом масштабе
0
936 / 836 / 121
Регистрация: 23.11.2012
Сообщений: 2,487
23.05.2013, 16:50 6
Товарищ lnxdx, что Вы вообще хотите построить??? И в чем глубоко философский смысл этой
Цитата Сообщение от lnxdx Посмотреть сообщение
bode(x,y)
строки???
0
5 / 5 / 1
Регистрация: 22.05.2013
Сообщений: 174
23.05.2013, 16:57  [ТС] 7
Dimka_rtf, вот весь код программы.... нахожу корректор.. дальше анализирую качество полученной систему(уже с корректором)...


Нужно построить % Показатель колебательности
в логарифмическом масштабе

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
clear; clc; close all;
syms w real
syms p
tpp = 0.7; %время переходного процесса
pere = 0.2; %перерегулирование 
K = 35;
w1 = logspace(0,3,100000); 
Wp11 = tf(1, [0.04 1]);
Wp22 = tf(1, [0.15 1]);
Wp33 = tf(1, [1 0]);
 
disp('Исходная передаточная функция разомкнутой системы:');
Wpisx = Wp11*Wp22*Wp33*K
disp('Исходная передаточная функция замкнутой системы:');
Wpisx1 = feedback(Wpisx, 1)
 
%Запас по амплитуде и фазе
figure
margin(Wpisx)
grid on
 
%Переходный процесс замкнутой системы
[x1, t1] = step(Wpisx1);
figure
plot(t1, x1)
grid on
 
%Переход к колебательному звену
a = 5/tpp;
m = -log(pere)/pi;
b = a/m;
T = sqrt(1/(a*a+b*b));
E = a*T;
 
%Показатель колебательности
wr = sqrt(1-2*E*E)/T
M = 1/(2*E*sqrt(1-E*E))
 
disp('Желаемая передаточная функция разомкнутой системы:');
Wp1 = tf(1, [2*E*T 0]);
Wp2 = tf(1, [T/(2*E) 1]);
Wpg = Wp1*Wp2
 
disp('Передаточная функция корректирующего устройства:');
Wpkor = minreal(Wpg/Wpisx)
 
%Лачх желаемой, исходной и корректирующего устройста
figure
bode(Wpisx,w1)
hold on
grid on
bode(Wpg,w1)
bode(Wpkor,w1)
x1=M^2/(M^2-1);
y1=0;
for r1=0:0.01:(M/(M^2-1))
for i=1:365
    x(i)=[x1+r1*cos(i*pi/180)];
    y(i)=[y1+r1*sin(i*pi/180)];
end
plot(x,y)
end
 
disp('Полученная передаточная функция разомкнутой системы:');
Wpol = minreal(Wpkor*Wpisx)
 
disp('Полученная передаточная функция замкнутой системы:');
Wpol1 = feedback(Wpol, 1)
 
%Запас по амплитуде и фазе
figure
margin(Wpol)
grid on
 
%Переходный процесс замкнутой системы
[x2, t2] = step(Wpol1);
figure
plot(t2, x2)
grid on
 
figure
bode(Wpol1)
grid on
 
 
%перерегулирование
y = x2(end); ymax = max(x2);
sigma = 100*(ymax-y)/y;
plot(t2, x2, 'linewidth', 2); 
grid on
annotation('textbox', [.7 .8 .1 .1],...
    'string', ['\sigma = ' num2str(sigma) ' %'],...
    'backgroundcolor', [.9 .8 .9]);
                                                                                     
% Степень колебательности
[num, den] = tfdata(Wpol1, 'v');
r = roots(den);
m1 = [];
for i = 1:length(r)
    m1 = [m1 abs(real(r(i))/imag(r(i)))];
end
m1 = max(m1)
 
 
 
 
% Показатель колебательности
figure
[num,den] = tfdata(Wpol,'v');
h = freqs(num,den,w1);
plot(h,'r','linewidth',1);
grid on 
hold on
 
x1=-M^2/(M^2-1);
y1=0;
for r1=0:0.01:(M/(M^2-1))
for i=1:365
    x(i)=[x1+r1*cos(i*pi/180)];
    y(i)=[y1+r1*sin(i*pi/180)];
end
plot(x,y)
end
0
453 / 279 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
24.05.2013, 12:41 8
Смысл строки в том, что эта функция строит диаграмму Боде. Диаграмма Боде (частотная характеристика) — графическая зависимость коэффициента усиления и/или сдвига фазы вносимого схемой, (входного и выходного сигнала) от частоты сигнала, поступающего на вход устройства. Но это не слишком здесь применимо вроде как.
0
936 / 836 / 121
Регистрация: 23.11.2012
Сообщений: 2,487
24.05.2013, 12:47 9
lomt, что делает bode я знаю. Просто товарищ lnxdx передает в эту функцию вот это
Matlab M
1
x(i)=[x1+r1*cos(i*pi/180)];
как передаточную функцию системы
а это
Matlab M
1
y(i)=[y1+r1*sin(i*pi/180)];
как вектор частот для анализа
Что для меня как то странновато
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2013, 12:47

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как совместить две агрегатные функции в одном запросе
Доброго времени суток! Есть следующий запрос: select fio, count(inq_id) as quantity, sys_name...

Как совместить функциональность EXE и DLL файлов в одном выполняемом.
Мне необходимо в одном выполняемом файле (EXE) совместить два способа загрузки: как DLL и как...

Как совместить запуск команд от root и обычного пользователя в одном сценарии
Как совместить запуск команд от root и обычного пользователя в одном сценарии Пример ...

Как совместить два окна?
1) создана DLL ка с менюшкой и окном SFML 2) создана игра с другим окном SFML когда вставил DLL...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.