С Новым годом! Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/125: Рейтинг темы: голосов - 125, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 10
1

Объединение графиков

05.06.2012, 21:48. Показов 24572. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста объединить три графика:
plot(t,b(1,:),'r',t,rr)
plot(t,b(1,:),'b',t,rrr)
plot(t,b(1,:),'g',t,rrrr)

текст программы:

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
N=10000                       % число реализаций
del=1/2                       % интервал дискретизации
T=2.5                         % длительность реализаций 
a=2
b=4/2*pi
t=0:del:T;
r=2*exp(-t)-exp(-2*t)         % функция корреляции
n=length(t)                   % число отсчётов 
 for i=1:n
    for j=1:n
        b(i,j)=r(abs(i-j)+1);
    end
end
BB=b                          % исходная корреляционная матрица
D=inv(BB)                     % матрица точности
D(1,6)=0
D(6,1)=0
B=inv(D)                      % аппроксимирующая корреляционная матрица
 
% корреляционные матрицы первых значений
 
B3=[B(1,1)    B(1,2)
        B(2,1)    B(2,2)]
B4=[B(1,1)    B(1,2)    B(1,3)
        B(2,1)    B(2,2)    B(2,3)
        B(3,1)    B(3,2)    B(3,3)]
B5=[B(1,1)    B(1,2)    B(1,3)    B(1,4)
        B(2,1)    B(2,2)    B(2,3)    B(2,4)
        B(3,1)    B(3,2)    B(3,3)    B(3,4)
        B(4,1)    B(4,2)    B(4,3)    B(4,4)]
 
x(1)=randn*sqrt(B(1,1))                         % первое значение последовательности
 
c=B(2,1)/B(1,1)
si=sqrt(B(2,2)-c*B(1,2))
x(2)=c*x(1)+randn*si                            % второе значение последовательности
 
C=[B(3,1) B(3,2)]*inv(B3)
si=sqrt(B(3,3)-C*[B(1,3);B(2,3)])
x(3)=C(1)*x(1)+C(2)*x(2)+randn*si       % третье значение последовательности
 
C=[B(4,1) B(4,2) B(4,3)]*inv(B4)
si=sqrt(B(4,4)-C*[B(1,4);B(2,4);B(3,4)])
x(4)=C(1)*x(1)+C(2)*x(2)+C(3)*x(3)+randn*si           % четвёртое значение
 
%----------------------------------------------------------
                      % установившийся режим генерирования
 
C=[B(5,1) B(5,2) B(5,3) B(5,4)]*inv(B5)               % матрица связи
s=sqrt(B(5,5)-C*[B(1,5);B(2,5);B(3,5);B(4,5)])        % с.к.о. 
X=[x(1);x(2);x(3);x(4)]
for i=5:N
    x(i)=C*X+s*randn;                % следующее значение
    for j=1:4
        X(j)=x(i-4+j);               % сдвиг предыдущих четырёх
    end
end
plot(x)                              % марковская последовательность, 
pause
 
 for i=1:n
    s=0;
    for j=1:N-i+1
        s=s+x(j)*x(j+i-1);
    end
    rr(i)=s/(N-i+1);           % оценка функции корреляции последовательности
end
plot(t,b(1,:),'r',t,rr)
pause
% блоки матрицы точности
D11=[D(1,1) D(1,2) D(1,3) D(1,4)
     D(2,1) D(2,2) D(2,3) D(2,4)
     D(3,1) D(3,2) D(3,3) D(3,4)
     D(4,1) D(4,2) D(4,3) D(4,4)];
D21=[D(5,1) D(5,2) D(5,3) D(5,4)
     D(6,1) D(6,2) D(6,3) D(6,4)];
D22=[D(5,5) D(5,6)
     D(6,5) D(6,6)];
 
C=-inv(D22)*D21                     % матрица связи
BC=inv(D22)                         % корреляционная матрица
[u,v]=eig(BC)
A=u*v^(1/2)*u'                      % оператор окрашивания
 XX=[x(3);x(4);x(5);x(6)]
for i=5:2:N
    xx=randn(2,1)                   % значения белого шума
    y=A*xx+C*XX                     % два следующих значения
    xx(i)=y(1);
    xx(i+1)=y(2);
    XX=[x(i-2);x(i-1);x(i);x(i+1)]        % сдвиг значений 
end
 
 for i=1:n
    s=0;
    for j=1:N-i+1
        s=s+x(j)*x(j+i-1);
    end
    rrr(i)=s/(N-i+1);          % оценка функции корреляции последовательности
end
plot(t,b(1,:),'b',t,rrr)
pause
 
% блоки матрицы точности
D11=[D(1,1) D(1,2) D(1,3)
D(2,1) D(2,2) D(2,3)
D(3,1) D(3,2) D(3,3)];
D21=[D(4,1) D(4,2) D(4,3) 
D(5,1) D(5,2) D(5,3)
D(6,1) D(6,2) D(6,3)];
D22=[D(4,4) D(4,4) D(4,6)
D(5,4) D(5,5) D(5,6)
D(6,4) D(6,5) D(6,6)];
 
CCC=-inv(D22)*D21;           % матрица связи
BCC=inv(D22);                % корреляционная матрица
[u,v]=eig(BCC);
A=u*v^(1/2)*u';             % оператор окрашивания
 
XXX=[x(4);x(5);x(6)]
 
for i=5:3:N
xxx=randn(3,1)              % значения белого шума
y=A*xxx+CCC*XXX 
xxx(i)=y(1);
xxx(i+1)=y(2);
 
XXX=[x(i-1);x(i);x(i+1)]    % сдвиг значений
end
 
 for i=1:n
    s=0;
    for j=1:N-i+1
        s=s+x(j)*x(j+i-1);
    end
    rrrr(i)=s/(N-i+1);      % оценка функции корреляции последовательности
end
plot(t,b(1,:),'g',t,rrrr)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2012, 21:48
Ответы с готовыми решениями:

Объединение графиков
У меня есть массив с 24 строками, я строкаю график по каждой из ней и объединяю их на одну форму...

Объединение графиков
У меня есть 3 передаточных функции. Хотелось бы их вывести по средствам matlab в один график. Для...

Объединение 2-х графиков в один
Скажите,пожалуйста, можно ли каким-то образом объединить 2 графика в один.Допустим, 1-ый...

Объединение отрезков графиков
Здравствуйте. Столкнулся с проблемой объединения двух графиков для отрезков x>0 и x<=0. Сразу...

11
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
05.06.2012, 22:43 2
Если тебе нужно все три графика в одной системе, то ниже после каждого plot пиши hold on.
Если тебе нужно три раздельных графика в одном окне, пользуй subplot. Так перед первым ставь subplot(1,3,1), перед вторым subplot(1,3,2) и перед третьим subplot(1,3,3) - поидее они выведеутся в одном окне три вертикально в ряд.
0
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 10
05.06.2012, 23:15  [ТС] 3
пробовала hold on, не работает.....
0
536 / 523 / 38
Регистрация: 13.03.2011
Сообщений: 727
06.06.2012, 00:57 4
После построения первого графика добавьте
Matlab M
1
hold on
Добавлено через 15 минут
Цитата Сообщение от sunshine843 Посмотреть сообщение
пробовала hold on, не работает.....
Всё прекрасно работает, потому что чудес не бывает.
Другое дело, что Вы не видите графики на фоне графика, построенного в строке 58: здесь пределы изменения аргумента функции от 0 до 10000, а в остальных - от 0 до 2.5.
Итого:
у Вас 4 графика: первый (строка 58) сильно отличается от других по диапазону аргумента функции, остальные (строки 68, 100, 137) - одинаковые (меняется только цвет верхней кривой).
Думаю, что добавление hold on после построения второго графика позволит увидеть Ваши графики, правда, ещё раз отмечу, что по Вашему коду они совпадают.
2
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 10
06.06.2012, 01:05  [ТС] 5
диплом готов к печати!!! =) уффф... спасибо Вам!!!...
0
536 / 523 / 38
Регистрация: 13.03.2011
Сообщений: 727
06.06.2012, 01:08 6
0
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 4
04.04.2014, 09:25 7
А если у меня есть отдельно графики сохраненные,без массивов,как мне их объединить?
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
04.04.2014, 10:45 8
kit91ka, ты имеешь в виду каритнки? и нужно наложить их один на другой?
*а масштаб у них у всех разный?
0
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 4
05.04.2014, 07:38 9
графики,которые уже построены и я их сохранял без массивов *.fig .масштаб одинаковый
0
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
06.04.2014, 19:39 10
так-с... если память не изменяет, из fig можно получить координаты точек
можешь упаковать пару графиков в архив и выложить?
0
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 4
06.04.2014, 20:30 11
Вот
Вложения
Тип файла: rar 1 poloj.rar (5.4 Кб, 20 просмотров)
0
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 4
06.04.2014, 20:34 12
или вот)
Вложения
Тип файла: rar Фиги.rar (5.4 Кб, 10 просмотров)
0
06.04.2014, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2014, 20:34
Помогаю со студенческими работами здесь

Слияние (объединение) двух графиков распределения в один
Программисты математики, такое вообще возможно? Например есть 2 графику 2х законов распределения,...

Возможно ли объединение трех графиков в одних осях с трех скриптов
Возможно ли объединение трех графиков в одних осях с трех скриптов?

Объединение графиков
Всем привет. Как можно отобразить все значения на одном графике, а не на двух?

Объединение двух графиков в один
Здравствуйте, есть проблема с написанием программы в Builder программа не сложная но чего-то видимо...


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

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