Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
#1

графики

27.02.2013, 21:56. Просмотров 678. Ответов 5
Метки нет (Все метки)

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
function [ afx, achx, fchx, lachx] = shax(W1)
syms w real
syms p
[num,den] = tfdata(W1,'v');
nump = poly2sym(num, p);
denp = poly2sym(den, p);
sys = nump/denp;
sys1 = subs(sys, p, 1j*w);
 
[~, w1] = freqs(num,den,100000);  
afx = simple(sys1);
afx1=subs(afx, w, w1, 0);
figure
plot(afx1)
title('АФХ')
grid on 
achx = simple(abs(afx));
achx1=subs(achx, w, w1, 0);
 
figure
plot(w1, achx1)
title('АЧХ')
grid on 
Re = simplify(expand(real(sys1)));
Im = simplify(expand(imag(sys1)));
Re1 = subs(Re, w, w1, 0);
Im1 = subs(Im, w, w1, 0);   
 
 
 
 
fchx = simple(Im/Re);
fchx1 = unwrap(atan2(Im1,Re1));
figure
plot(w1, fchx1*180/pi)
grid on
title('ФЧХ')
 
 
lachx = 20* log10(achx);
lachx1=subs(lachx, w, w1, 0);
figure
semilogx(w1, lachx1)
title('ЛАЧХ')
grid on 
 
figure
semilogx(w1, fchx1*180/pi)
title('ЛФЧХ')
grid on  
 
figure
bode(W1)
grid on
end


как подобрать диапазоны W-частоты чтоб графики нормально выводились(((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 21:56
Ответы с готовыми решениями:

Графики ДН в 3D
Добрый день! Подскажи пожалуйста, почему не определяется функция при...

Графики
Помогите пожалуйста

Графики зависимостей x(t), y(t)
у меня еще вопрос вот само задание Написать функцию, которая строит графики...

графики в Matlab
Здравствуйте! Подскажите пожалуйста, как построить график с двумя и более...

Графики в Matlab.
Помогите пожалуста с лабой...завтра сдавать, а сделать не получается...=( Был...

5
R2D2
885 / 796 / 110
Регистрация: 23.11.2012
Сообщений: 2,353
28.02.2013, 19:52 #2
А что в Вашем понимании "нормально"? У меня Ваша программа для функции передачи rc-цепи строит нормальные графики. Может Вы функцию W1 передаете какую то лохматую, ну тогда функцию в студию)))
0
Зосима
4925 / 3294 / 311
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
28.02.2013, 20:00 #3
Dimka_rtf, да этот гаврик уже месяц эти АЧХ ФЧХ мусолит... жаль, сегодня руки не дошли солью все в одну тему!

Matlab M
1
2
%Массив частот от 10^-3 до 10^5 в логарифмическом масштабе, 50 точек
w1 = logspace(-3, 5, 50);
1
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
28.02.2013, 21:42  [ТС] #4
я реализую фчх, ачх, и т д... для Типовых звеньев


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
clear
clc
close all
syms   K T1 T2 E p
X = tf(1, [1 0]);
Wx = [K/(T1*p+1);K/((T1*p+1)*(T2*p+1));K/p; K/(p*(T1*p+1));
K*p/(T1*p+1);K*(T1*p+1)/(T2*p+1); K/(T1^2*p^2+2*E*T1*p+1);
]   %Массив со звеньями
mynumber = input('Enter a number:'); 
switch mynumber
    case 1
        T11= input('T1:');
        K1 = input('K:');
        W = tf(K1, [T11 1])
        [afx, achx, fchx, lachx] = shax(W, T11, mynumber);
    
    case 2
        K1 = input('K:');
        T11= input('T1:');
        T22 = input('T2:');
        if(T11>T22)
            T = T11;
        else
            T = T22;
        end;
        W = tf(K1, [T11 T22 1])
        [afx, achx, fchx, lachx] = shax(W, T, mynumber);
    
    case 3
        K1 = input('K:');
        W = tf(K1, [1 0]);
        [afx, achx, fchx, lachx] = shax(W, 10, mynumber);
    
    case 4
        K1 = input('K:');
        T11 = input('T1:');
        W1 = tf(K1, [T11 1]);
        W = W1*X
        [afx, achx, fchx, lachx] = shax(W, T11, mynumber);
        
    case 5
        K1 = input('K:');
        T11 = input('T1:');
        W1 = tf(K1, [T11 1]);
        W = W1*(1/X)
        [afx, achx, fchx, lachx] = shax(W, T11, mynumber);
        
    case 6
        K1 = input('K:');
        T11 = input('T1:');
        T22 = input('T2:');
        if(T11>T22)
            Z = T11;
        else
            Z = T22;
        end;
        W1 = tf(K1, [T22 1]);
        W2 = tf(1, [T11 1]);
        W=W1*(1/W2)
        [afx, achx, fchx, lachx] = shax(W, T22, mynumber);
        
    case 7
        K1 = input('K:');
        T11= input('T1:');
        E = input('E:');
        W = tf(K1, [T11 E*T11 1])
        [afx, achx, fchx, lachx] = shax(W);
        
   
end

когда T<1 графики выводятся...но препод говорит построй так чтобы было хорошо видно (увеличивать ему лень)
((( вот такая проблема... я пытаюсь теперь подобрать нормальный диапазон частот
((

Добавлено через 19 минут
Зосима,
0
R2D2
885 / 796 / 110
Регистрация: 23.11.2012
Сообщений: 2,353
28.02.2013, 21:44 #5
Цитата Сообщение от shax624 Посмотреть сообщение
[afx, achx, fchx, lachx] = shax(W, T11, mynumber);
Каким образом у Вас работает вот эта строчка???
Ведь в коде в первом сообщении Вы передаете в функцию shax всего один параметр, а здесь уже 3
Для параметров К=1, Т1 = 1е-3 выводятся вполне адекватные графики. Если Вы хотите размер окна увеличить (или вовсе его развернуть) то так и говорите))
0
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
28.02.2013, 23:23  [ТС] #6
ошибка..) я просто недавно ее переделал..


он не хочет этого делать сам, хочет что программа делала

Добавлено через 42 минуты
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
function [ afx, achx, fchx, lachx] = shax(W1,T,number)
syms w real
syms p
[num,den] = tfdata(W1,'v');
nump = poly2sym(num, p);
denp = poly2sym(den, p);
sys = nump/denp;
sys1 = subs(sys, p, 1j*w);
 
Wmax = 90/T;
dw = Wmax/100000;
w3 = logspace(-4,4,10000);
switch number
    case 1
        w1 = 0:dw:Wmax;
        w2 = 0:dw:Wmax;
   
    case 2
    if(T<1 && T>0.1)
        V =Wmax/10;
        w1 = 0:dw:V;
        w2 = 0:dw:V;
    elseif(T<0.1)
        V =Wmax/100;
        w1 = 0:dw:V;
        w2 = 0:dw:V;  
    else
        w1 = 0:dw:Wmax;
        w2= logspace(-3,1.5,10000);
    end
    
    case 3
        w1 = 0:0.5:100;
        w2 = 0:dw:Wmax;
    
    
    case 4
        w1 = 0:0.5:40; 
        w2 = 0:dw:Wmax;
 
    case 5
    if(T<1 && T>0.1)
        V =Wmax/10;
        w1 = 0:dw:Wmax;
        w2 = 0:dw:V;
    elseif(T<0.1)
        V =Wmax/10;
        w1 = 0:0.1:V;
        w2 = 0:dw:Wmax;
    else
        w1 = 0:0.01:10;
        w2 = 0:dw:Wmax;
    end
   
    case 6
    if(T<1 && T>0.1)
        w1 = 0:1:100;
        w2 = 0:dw:Wmax;
    elseif(T<0.1)
        V =Wmax/5;
        w1 = 0:1:1000;
        w2 = 0:dw:V;
    else
        w1 = 0:1:1000;
        w2 = 0:dw:Wmax;
    end
    
    case 7
    if(T<0.5 && T>0.1)
        V =Wmax/10;
        w1 = 0:dw:V;
        w2 = 0:dw:V;
    elseif(T<0.1)
        V =Wmax/100;
        w1 = 0:dw:V;
        w2 = 0:dw:V;  
    else
        w1 = 0:dw:Wmax;
        w2= logspace(-3,1.5,10000);
    end
end
     
 
 
 
afx = simple(sys1);
afx1=subs(afx, w, w1, 0);
figure
plot(afx1)
title('АФХ')
grid on 
 
 
achx = simple(abs(afx));
achx1=subs(achx, w, w1, 0);
figure
plot(w1, achx1)
title('АЧХ')
grid on 
 
 
 
Re = simplify(expand(real(sys1)));
Im = simplify(expand(imag(sys1)));
 
 
 
Re1 = subs(Re, w, w2, 0);
Im1 = subs(Im, w, w2, 0);   
fchx = simple(Im/Re);
fchx1 = unwrap(atan2(Im1,Re1));
figure
plot(w2, fchx1*180/pi)
grid on
title('ФЧХ')
 
 
 
Re11 = subs(Re, w, w3, 0);
Im11 = subs(Im, w, w3, 0);   
fchx11 = unwrap(atan2(Im11,Re11));
lachx = 20* log10(achx);
lachx1=subs(lachx, w, w3, 0);
figure
semilogx(w3, lachx1)
title('ЛАЧХ')
grid on 
 
figure
semilogx(w3, fchx11*180/pi)
title('ЛФЧХ')
grid on  
 
figure
bode(W1)
grid on
 
end
0
28.02.2013, 23:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 23:23

Совместить графики
Ребята, не подскажете, возможно ли следующее (а если да, как это осуществить)....

Массивы и графики
Проблема вот в чём. 1) Есть цикл в нем считаются определенные значения...

Графики Матлаб
Сами линии отсутствуют, что я не доделал? %ЗАДАНИЕ 2 clear clc disp(' ...


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

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

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