Форум программистов, компьютерный форум, киберфорум
Наши страницы

Matlab

Войти
Регистрация
Восстановить пароль
 
shax624
8 / 8 / 2
Регистрация: 09.03.2012
Сообщений: 94
#1

графики - Matlab

27.02.2013, 21:56. Просмотров 650. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос графики (Matlab):

Графики ДН в 3D - Matlab
Добрый день! Подскажи пожалуйста, почему не определяется функция при построении графика в 3d, ведь она же задана выше... (это про Dn1...

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

графики в Matlab - Matlab
Здравствуйте! Подскажите пожалуйста, как построить график с двумя и более движущимися точками, функция comet(a,b) это для одной движущейся...

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

Построить графики - Matlab
f(x)=-2xe^(-2x),g(x)=0.5cos⁡x-x,x∈. z(x,y)=(1+x^2)∙sin y,x∈,y∈.〗 Помогите занемаюсь всего ниделю и не могу понять что к чему

Графики в Matlab - Matlab
>> f=0:0.1:pi;polar(f,-((5*cos(2*f))/cos(f)));grid ??? Error using ==> polar at 61 THETA and RHO must be the same size. >>...

5
R2D2
873 / 784 / 106
Регистрация: 23.11.2012
Сообщений: 2,305
28.02.2013, 19:52 #2
А что в Вашем понимании "нормально"? У меня Ваша программа для функции передачи rc-цепи строит нормальные графики. Может Вы функцию W1 передаете какую то лохматую, ну тогда функцию в студию)))
0
Зосима
4888 / 3257 / 308
Регистрация: 02.04.2012
Сообщений: 6,190
Записей в блоге: 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
8 / 8 / 2
Регистрация: 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
873 / 784 / 106
Регистрация: 23.11.2012
Сообщений: 2,305
28.02.2013, 21:44 #5
Цитата Сообщение от shax624 Посмотреть сообщение
[afx, achx, fchx, lachx] = shax(W, T11, mynumber);
Каким образом у Вас работает вот эта строчка???
Ведь в коде в первом сообщении Вы передаете в функцию shax всего один параметр, а здесь уже 3
Для параметров К=1, Т1 = 1е-3 выводятся вполне адекватные графики. Если Вы хотите размер окна увеличить (или вовсе его развернуть) то так и говорите))
0
shax624
8 / 8 / 2
Регистрация: 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
Привет! Вот еще темы с ответами:

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

Графики в Matlab - Matlab
Задание 2. На одном графике построить 3 кривые: соответствующую первому слагаемому (красная пунктирная линия), соответствующую второму...

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

Массивы и графики - Matlab
Проблема вот в чём. 1) Есть цикл в нем считаются определенные значения x=rand; y=rand; нужно построить график по этим значениям. Не знаю...


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

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

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