Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/637: Рейтинг темы: голосов - 637, средняя оценка - 4.59
4 / 3 / 0
Регистрация: 17.04.2013
Сообщений: 49
1

Как построить 2 графика на одном рисунке?

08.06.2013, 16:51. Показов 123230. Ответов 11

Author24 — интернет-сервис помощи студентам
Здравствуйте!

у меня код есть могу построить первый график сначала а потом заменить данные и построить второй график но отдельно хочу построить их вместе на одном рисунке как построить второй в конце есть Коментарии (у умножение строка 26 и 62 на 2 и изменение в 10 )

заранее спасибо
Вложения
Тип файла: rar matlab_rabochiy.rar (725 байт, 60 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2013, 16:51
Ответы с готовыми решениями:

Не строится два графика на одном рисунке
figure('name','log) loglog(f,Spectrum_Power, 'b'); hold all; y53=(-5/3)*f;...

Как построить 2 трехмерных графика в одном окне
Графики строятся по отдельности, но хочу для сравнения вывести их в одном окне. Подскажите, что не...

2 графика на одном рисунке с 2 осями х и одной осью y
Здравствуйте. Есть 2 зависимости иксы разные, а игрики одинаковые: х1: 1, 5, 3, 2, 5, 6, 7 ...

Построить на одном рисунке графики двух функций
построить на одном рисунке графики двух функций F(x), G(x), задав изменение x на отрезке с шагом...

11
18 / 18 / 0
Регистрация: 15.05.2013
Сообщений: 73
08.06.2013, 23:45 2
Используй команду subplot. Она строит отдельные графики в одном окне.
Если надо построить 2 графика на одном рисунке, то используй hold on, только выходные функции должны иметь разные имена, т.е. типа y1 и y2.
1
4 / 3 / 0
Регистрация: 17.04.2013
Сообщений: 49
08.06.2013, 23:53  [ТС] 3
код сложный subplot и hold on не подходят
0
0 / 0 / 0
Регистрация: 04.05.2013
Сообщений: 13
09.06.2013, 00:24 4
Каким образом сложность кода влияет на работу функций hold on и subplot???
0
4 / 3 / 0
Регистрация: 17.04.2013
Сообщений: 49
09.06.2013, 00:27  [ТС] 5
посмотрите пожалуйста код и напишите мне как можно там использовать hold on или subplot
заранее спасибо Вам
0
18 / 18 / 0
Регистрация: 15.05.2013
Сообщений: 73
09.06.2013, 00:33 6
Цитата Сообщение от Puxoper Посмотреть сообщение
Каким образом сложность кода влияет на работу функций hold on и subplot???
Не понял вопроса. Для постройки разных графиков нужны разные функции. Переменные могут быть одинаковые.
Твой код реально сложный, но тебе советую выделить результирующие функции отдельно.

Покажу на простом примере:
Matlab M
1
2
3
4
5
6
7
x = 0:0.5:10;
y1 = cos(x) - 2;
y2 = sin(x);
plot(x,y1,'b');
hold on;
plot(x,y2,'r');
hold off;
Как построить 2 графика на одном рисунке?

либо
Matlab M
1
2
3
4
5
x = 0:0.5:10;
y1 = cos(x) - 2;
y2 = sin(x);
subplot(1,2,1); plot(x,y1,'b');
subplot(1,2,2); plot(x,y2,'r');
Как построить 2 графика на одном рисунке?
2
4 / 3 / 0
Регистрация: 17.04.2013
Сообщений: 49
09.06.2013, 00:45  [ТС] 7
ДА так понятно
но, у меня не так каждый график отдельно строится но на одном рисунке не знаю как
думаю что найду ответ у вас - второй график отличается от первого только в строку 26 и 62 надо умножить на 2
и построить вместе

кто может этого делать напишите пожалуйста очень важно
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
09.06.2013, 01:32 8
А так сойдёт?:
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
S=50;
Talone=[1.5 2 2 2 2 2 2 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 3 3 3 3 3 3 3 3 3 3 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 4 4 4 4 4 4 4.5 4.5 4.5 4.5 5 5 5.5 5.5 6];
Talone=Talone*1000;
Tmin_fix=0.9*1000;
Tmin_min=0.6*1000;
Tmin_max=1.2*1000;
shagTmin=0.1*1000;
kolShagT=(Tmin_max-Tmin_min)/shagTmin+1;
C=((1/S)*sum(1./Talone))^(-1);
A=1500;
Ro=A/(2*C);
maxM=10;
minM=4;
mFix=5;
m_plot=zeros(1,(maxM-minM)+1);
p_plot=zeros(1,(maxM-minM)+1);
for countM=1 : 1 : (maxM-minM)+1;
m=countM+minM-1;
m_plot(countM)=m;
t=Talone./m;
Pr1=(Ro^m)*(1-Ro);
Em=Ro/(1-Ro);
Pr2=(m*Pr1)/Em;
T=((1-Ro)/S)*sum(Talone);
Tmin=Tmin_fix;
k=(Talone)./Tmin;
k1=floor(k);
a=zeros(1,length(k1));
a1=zeros(1,length(k1));
for j = 1 : 1: S;
if k1(j)>=m 
    a(j)=(m*(Ro)^(m-1))*(1-Ro)^2;
else
    continue;
end;
if j>1
    if k1(j)~=k1(j-1)
        a1(j)=sum(a);
    else
        a1(j)=a1(j-1);
    end;
else
    a1(1)=a(1);
end;
end;
Pr1Tmin=sum(a1)/S;
p_plot(countM)=Pr1Tmin;
end;
plot(m_plot,p_plot,'-r','LineWidth',2);
hold on
% pause;
t_plot=zeros(1,kolShagT);
p_plot=zeros(1,kolShagT);
for countT=1 : 1 : kolShagT;
m=mFix;
t=Talone./m;
Pr1=(Ro^m)*(1-Ro);
Em=Ro/(1-Ro);
Pr2=(m*Pr1)/Em;
T=((1-Ro)/S)*sum(Talone);
Tmin=Tmin_min+(countT-1)*shagTmin;
t_plot(countT)=Tmin;
k=(Talone)./Tmin;
k1=floor(k);
a=zeros(1,length(k1));
a1=zeros(1,length(k1));
for j = 1 : 1: S;
if k1(j)>=m 
    a(j)=(m*(Ro)^(m-1))*(1-Ro)^2;
else
    continue;
end;
if j>1
    if k1(j)~=k1(j-1)
        a1(j)=sum(a);
    else
        a1(j)=a1(j-1);
    end;
else
    a1(1)=a(1);
end;
end;
Pr1Tmin=sum(a1)/S;
p_plot(countT)=Pr1Tmin;
end;
plot(t_plot,p_plot,'LineWidth',2);
 
% случай с двойной несущей домножаю Talone на 2 в сторке 26 и 62  
% уменьшаю спорс на трафик А в два раза(строка) 10
1
4 / 3 / 0
Регистрация: 17.04.2013
Сообщений: 49
09.06.2013, 01:41  [ТС] 9
Спасибо Вам еще красный не правильно должен быть
как синий и рядом
0
18 / 18 / 0
Регистрация: 15.05.2013
Сообщений: 73
09.06.2013, 10:59 10
Хочешь синий? Строка 49, вместо '-r' пиши 'b'.
0
Likvin
10.06.2013, 00:14 11
Подскажите пожалуйста, что в это коде не так. Матлаб выдает ошибку в 11 строчке
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clc;
clear all;
step=0.01;
x1=-1:step:0;
y1=(2+sin(x1).^2)/(1 + x1.^2);
x2=0:step:2;
y2=(4*cos(3*x2))/(1+exp(3*x2));
x=[x1 x2];
y=[y1 y2];
plot(x,y,'r')
hold on;
xlabel ('X')
ylabel ('Y')
grid on;
xlim([-10 10]);
ylim([0 10]);
title('График');
set(gca,'XTick',-pi:pi/1:pi);
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
10.06.2013, 00:27 12
Внимательно смотрим строки 6 и 8 и паралельно смотрим сюда
0
10.06.2013, 00:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2013, 00:27
Помогаю со студенческими работами здесь

Как построить два графика в одном окне, чтоб ось x была общей и две оси y справа и слева
Добрый день! Необходимо построить два графика на одном поле с общей осью абцисс и двумя осями...

На одном листе построить 3 графика
Зосима, Добрый день! Мне в МатЛабе для обработки эксперимента нужна на одном листе построить 3...

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

Построить в одном окне два графика
Добрый день! Требуется построить два графика в одном окне на языке C# по точкам таблицы в виде...


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

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