1 / 1 / 0
Регистрация: 15.07.2015
Сообщений: 60
1

Почему пропадают графики

27.05.2018, 18:25. Показов 1419. Ответов 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
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
clear
clc
close all
format short
 
input1=cell(15,1);
input2=cell(15,1);
 
m = 1;
fprintf('m=%i\n',m)
input1{1}=m;
input2{1}=m;
 
k = 4;
fprintf('k=%i\n',k)
input1{2}=k;
input2{2}=k;
 
c=2;
input1{3}=c;
input2{3}=c;
 
q0 = 0.6;
fprintf('q0=%i\n',q0)
input1{4}=q0;
input2{4}=q0;
 
v0 = 1;
fprintf('v0=%i\n',v0)
input1{5}=v0;
input2{5}=v0;
 
a0 = 0.3;
fprintf('a0=%i\n',a0)
input1{6}=a0;
input2{6}=a0;
 
p0=input ('Inserire la forza costante: p0=');
input1{7}=p0;
input2{7}=p0;
 
OMEGAn=sqrt(k/m);
fprintf('OMEGAn=%i\n',OMEGAn),
 
Tn=2*pi/OMEGAn;
fprintf('Tn=%d\n',Tn)
 
fn=1/Tn;
fprintf('fn=%d\n',fn);
 
input1{8}=OMEGAn;
input2{8}=OMEGAn;
 
input1{9}=Tn;
input2{9}=Tn;
 
qst=p0/k;
fprintf('qst=%d\n',qst);
 
input1{10}=qst;
input2{10}=qst;
 
Ccr=2*m*OMEGAn;
fprintf('Ccr=%d\n',Ccr)
input1{11}=Ccr;
input2{11}=Ccr;
 
ksi=c/Ccr;
fprintf('ksi=%d\n',ksi)
 
KSI=round(ksi,2);
input1{12}=KSI;
input2{12}=KSI;
 
fprintf('CASO SOTTO CRITICAMENTE SMORZATO ksi=%d\n',ksi)
 
OMEGAd=OMEGAn*sqrt(1-ksi^2);
fprintf('OMEGAd=%d\n',OMEGAd)
input1{13}=OMEGAd;
input2{13}=OMEGAd;
 
[b1,b2,q,v,a] = eqs_dif_es7_1(input1);
fprintf('b1=%s\n',b1)
fprintf('b2=%s\n',b2)
 
B1=subs(b1);
B2=subs(b2);
B1=double(B1);
B2=double(B2);
 
fprintf('B1=%d\n',B1)
fprintf('B2=%d\n',B2)
 
z=sqrt(B1^2+B2^2);
fprintf('z=%d\n',z)
 
fi=atan(B2/B1);
fprintf('fi=%d\n',fi)
 
tstar=fi/OMEGAd;
fprintf('tstar=%d\n',tstar)
 
Td=(2*pi+fi)/OMEGAd;
fprintf('Td=%d\n',Td)
input1{14}=Td;
 
fd=1/Td;
fprintf('fd=%d\n',fd)
 
t=[0:Td/100:3*Td]';
 
n=numel(t);
 
M=m*ones(1,n)';
K=k*ones(1,n)';
C=c*ones(1,n)';
 
%%     CINEMATICA
 
fprintf('q=%s\n',q)
 
q=subs(q);
q=double(q);
 
fprintf('v=%s\n',v)
 
v=subs(v);
v=double(v);
 
fprintf('a=%s\n',a)
 
a=subs(a);
a=double(a);
 
figure (1)
subplot(2,2,1)
plot(t,q)
xlabel('t')
ylabel('q')
title('confronto q/t')
grid on;
hold on
 
subplot(2,2,2)
plot(t,v)
xlabel('t')
ylabel('v')
title('confronto v/t')
grid on;
hold on
 
subplot(2,2,3)
plot(t,a)
xlabel('t')
ylabel('a')
title('confronto a/t')
grid on;
hold on
 
subplot(2,2,4)
plot(v,q)
xlabel('v')
ylabel('q')
title('confronto v/q')
grid on;
hold on
 
%% DINAMICA
 
Fi=M.*a;
Fe=K.*q;
Fv=C.*v;
sommaF=Fi+Fe+Fv;
errore=sommaF-p0;
 
if errore<=0.01*abs(p0)
    
    fprintf('Fi+Fe+Fv=p0     bilancio di forze si verifica\n')
else
    fprintf('[Fi+Fe+Fv] non e uguale a [p0]     bilancio di forze non si verifica\n')
end
 
figure (2)
plot(t,Fi,'bo-',t,Fe,'cx-',t,Fv,'ms-',t,p0,'g*-.',t,sommaF,'r.-','MarkerSize',2)
xlabel('t')
ylabel('F')
title('confronto Fi/t, Fe/t, Fv/t, p0/t ed equazione di equilibrio dinamico')
legend('forza di inerzia', 'forza elastica','forza viscosa','forzante','somma delle forze')
grid on;
hold on
 
%% ENERGIA
 
Ek=0.5*M.*v.^2;
Ee=0.5*K.*q.^2;
 
Ek0=0.5*M.*v0^2;
Ee0=0.5*K.*q0^2;
 
tti=t(1:n-1);
ttf=t(2:n);
 
[Ev,Eest] = eqs_dif_es7_2;
 
fprintf('Ev=%s\n',Ev)
fprintf('Eest=%s\n',Eest)
 
Ev=subs(Ev);
Ev=double(Ev);
Ev=[0;Ev];
 
Eest=subs(Eest);
Eest=double(Eest);
Eest=[0;Eest];
 
for i=2:n
    Ev(i)=Ev(i-1)+Ev(i);
end
 
for i=2:n
    Eest(i)=Eest(i-1)+Eest(i);
end
 
Et=Ek+Ee+Ev;
E0=Ek0+Ee0+Eest;
 
bilancioE=Et-E0;
 
if abs(bilancioE)<=0.01*abs(E0)
    fprintf('Ek(t)+Ee(t)+Ev(t)=Ee(0)+Ek(0)+Eest(0)     bilancio di energia si verifica\n')
else
    fprintf('[Ek1(t)+Ee1(t)+Eh1(t)] non e uguale a [Ee(0)]     bilancio di energia non si verifica\n')
end
 
figure (3)
plot(t,Ek,'bo-',t,Ee,'cx-',t,Ev,'ms-',t,E0,'r.-','MarkerSize',2)
xlabel('t')
ylabel('E')
title('confronto Ek/t, Ee/t, Ev/t ed equazione di bilancio in energia')
legend('energia cinetica', 'energia elastica','energia dissipata','energia iniziale')
grid on;
hold on
 
tt=[0:Tn/100:Tn]';
nn=numel(tt);
M7=m*ones(1,nn)';
K7=k*ones(1,nn)';
ksi2=[0:0.05:1.05];
n8=numel(ksi2);
Qst=qst*ones(1,nn)';
 
for j=1:n8
    if ksi2(j)==0
        [b1,b2,q,v,a] = eqs_dif_es7_3;
        B3=subs(b1);
        B4=subs(b2);
        Q{j}=subs(q);
    elseif ksi2(j)>0&&ksi2(j)<1
        [b1,b2,q,v,a] = eqs_dif_es7_6;
        OMEGAd=OMEGAn*sqrt(1-ksi2(j)^2);
        B3=subs(b1);
        B4=subs(b2);
        Q{j}=subs(q);
    elseif ksi2(j)==ismembertol(ksi2(j),1)
        [h1,h2,q,v,a] = eqs_dif_es7_4;
        A3=subs(h1);
        A4=subs(h2);
        Q{j}=subs(q);
    else
        [h1,h2,q,v,a] = eqs_dif_es7_5;
        A3=subs(h1);
        A4=subs(h2);
        Q{j}=subs(q);
    end
end
 
figure (4)
plot(tt,Q{1}/qst,'bo-',tt,Q{2}/qst,'cx-',tt,Q{10}/qst,'gx-',tt,Q{15}/qst,'ms-',tt,Q{21}/qst,'r.-','MarkerSize',2)
xlabel('t')
ylabel('q/qst')
title('andamento del rapporto q/qst nel tempo per diversi fattori di smorzamento ksi')
legend('ksi=0', 'ksi=0.05','ksi=0.45','ksi=0.7','ksi=1')
grid on;
hold on;

так вот фигуры 1, 2, 3 он не показывает
подскажите пожалуйста, в чем загвоздка??
спасибо!!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2018, 18:25
Ответы с готовыми решениями:

Подскажите почему разные графики переходной функции выдаёт Simulink и командная строка MatLab
Подскажите почему разные графики переходной функции выдаёт Simulink и командная строка MatLab для...

Почему пропадают данные
Есть программка под спойлером, переменная $_ce в условии не выврдится &lt;?php session_start(); if...

Почему в вайбере пропадают чаты?
Доброго времени суток! Недавно начал использовать вайбер. Заметил, что некоторые (не все) чаты...

почему в URL пропадают параметры ??????????
Народ, подскажите, плиз: 1. в апплете создаю URL URL url = new URL(app.getCodeBase(),...

4
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
27.05.2018, 19:36 2
Добраться до вывода графиков не удалось ввиду отсутствия функции
Matlab M
1
[b1,b2,q,v,a] = eqs_dif_es7_1(input1);
Но с виду все вроде корректно.
Подозреваю, что фигуры 1, 2, 3 скрываются под фигурой 4. Попробуйте подвинуть.
1
1 / 1 / 0
Регистрация: 15.07.2015
Сообщений: 60
27.05.2018, 19:45  [ТС] 3
я проверила специально, там ничего не скрывается. а предыдущие графики прям мигают на долю секунды и пропадают сразу же.
недостающие функции
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function [b1,b2,q,v,a] = eqs_dif_es7_1(q1,v1,a1)
 
    close all
    format short
 
    syms q(t) v(t) a(t) b1 b2 OMEGAn t q0 v0 sol1 q1(t) v1(t) a1(t) qst KSI p0 k OMEGAd
    q1(t)=exp(-OMEGAn*KSI*t).*(b1*cos(OMEGAd*t)+b2*sin(OMEGAd*t))+qst;
    v1(t)=diff(q1,t,1);
    a1(t)=diff(q1,t,2);
 
    f1 = subs(q1,t,0)-q0;                           % q(t=0) = q0
    f2 = subs(v1,t,0)-v0;                           % v(t=0) = v0
 
    Sol = solve([f1,f2],[b1,b2]);
    b1 = Sol.b1;
    b2 = Sol.b2;
 
    q = subs(q1);
    v = subs(v1);
    a = subs(a1);
 
end

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
function [Ev,Eest] = eqs_dif_es7_2(~,~,~,~,~,~)
 
close all
format short
 
syms v c p0 t tti ttf
 
[~,~,~,v,~]=eqs_dif_es7_1;
 
    Ev=int((c*v^2),t,tti,ttf);
    Eest=int((p0*v),t,tti,ttf);
 
end

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function [b1,b2,q,v,a] = eqs_dif_es7_3(q1,v1,a1)
 
    close all
    format short
 
    syms q(t) v(t) a(t) b1 b2 OMEGAn tt q0 v0  q1(t) v1(t) a1(t) qst
    q1(t)=b1*cos(OMEGAn*tt)+b2*sin(OMEGAn*tt)+qst;
    v1(t)=diff(q1,tt,1);
    a1(t)=diff(q1,tt,2);
 
    f1 = subs(q1,tt,0)-q0;                           % q(t=0) = q0
    f2 = subs(v1,tt,0)-v0;                           % v(t=0) = v0
 
    Sol = solve([f1,f2],[b1,b2]);
    b1 = Sol.b1;
    b2 = Sol.b2;
 
    q = subs(q1);
    v = subs(v1);
    a = subs(a1);
 
end

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
function [h1,h2,q,v,a] = eqs_dif_es7_4(q1,v1,a1)
 
    close all
    format short
 
    syms q(t) v(t) a(t) h1 h2 OMEGAn tt q0 v0 sol1 q1(t) v1(t) a1(t) OMEGAd ksi m c ccr k qst
 
    q1(t)=h1*exp(-tt*OMEGAn) + h2*tt.*exp(-tt*OMEGAn)+qst;
    v1(t)=diff(q1,tt,1);
    a1(t)=diff(q1,tt,2);
 
    f1 = subs(q1,tt,0)-q0;                           % q(t=0) = q0
    f2 = subs(v1,tt,0)-v0;                           % v(t=0) = v0
 
    Sol = solve([f1,f2],[h1,h2]);
    h1 = Sol.h1;
    h2 = Sol.h2;
 
    q = subs(q1);
    v = subs(v1);
    a = subs(a1);
 
end


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
function [h1,h2,q,v,a] = eqs_dif_es7_5(q1,v1,a1)
 
    close all
    format short
 
    syms q(t) v(t) a(t) h1 h2 OMEGAn tt q0 v0 sol1 q1(t) v1(t) a1(t) OMEGAd ksi m c ccr k qst
 
    q1(t)=h1*exp(tt*(-OMEGAn*ksi+OMEGAn*((ksi^2)-1)^0.5)) + h2*exp(tt*(-OMEGAn*ksi-OMEGAn*((ksi^2)-1)^0.5))+qst;
    v1(t)=diff(q1,tt,1);
    a1(t)=diff(q1,tt,2);
 
    f1 = subs(q1,tt,0)-q0;                           % q(t=0) = q0
    f2 = subs(v1,tt,0)-v0;                           % v(t=0) = v0
 
    Sol = solve([f1,f2],[h1,h2]);
    h1 = Sol.h1;
    h2 = Sol.h2;
 
    q = subs(q1);
    v = subs(v1);
    a = subs(a1);
 
end


Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function [b1,b2,q,v,a] = eqs_dif_es7_6(q1,v1,a1)
 
    close all
    format short
 
    syms q(t) v(t) a(t) b1 b2 OMEGAn tt q0 v0 sol1 q1(t) v1(t) a1(t) qst KSI p0 k OMEGAd
    q1(t)=exp(-OMEGAn*KSI*tt).*(b1*cos(OMEGAd*tt)+b2*sin(OMEGAd*tt))+qst;
    v1(t)=diff(q1,tt,1);
    a1(t)=diff(q1,tt,2);
 
    f1 = subs(q1,tt,0)-q0;                           % q(t=0) = q0
    f2 = subs(v1,tt,0)-v0;                           % v(t=0) = v0
 
    Sol = solve([f1,f2],[b1,b2]);
    b1 = Sol.b1;
    b2 = Sol.b2;
 
    q = subs(q1);
    v = subs(v1);
    a = subs(a1);
 
end

где то на просторах интернета находила упоминание про изменение параметров scope, но что где и как так и не поняла
0
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
27.05.2018, 20:01 4
Лучший ответ Сообщение было отмечено belan_es как решение

Решение

У Вас там, вначале каждой функции, пардон, понавставлено
Matlab M
1
close all
Вот оно и гасит все Ваши фигуры 1,2, и 3.
1
1 / 1 / 0
Регистрация: 15.07.2015
Сообщений: 60
27.05.2018, 20:10  [ТС] 5
о, сработало) спасибо!!!)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2018, 20:10

Почему пропадают все эффекты
Всем привет,сегодня вечером когда верстал свой первый проект,у меня возникла проблема,пропали все...

Почему пропадают ссылки по гуглу?
Всем привет. Такая проблема. За последний месяц ссылки по гуглу уменьшились процентов на 70,...

Почему пропадают созданные ячейки таблицы?
Проблемка в удалении данных из контролла (к примеру из таблицы) при обновлении страницы (например...

Почему в средстве разработчика пропадают линии на форме
Почему в средстве разработчика пропадают линии на форме?


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

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

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