Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Teemz
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 2
#1

Посчитать длительность в секундах после того как График начинает убывать

15.06.2009, 00:17. Просмотров 521. Ответов 1
Метки нет (Все метки)

Ну вот собственно в чем проблема:
По идее программа должна посчитать длительность в секундах после того как График начинает убывать после Uout=7.77(это максимум) и до конца этого графика. Подсчитав у меня вышло 1.5 секунды. Эта программа считает только до того как график доходит до экстремума Uout=7.77.
дальше программа начинает считать погрешность до тех пор пока не дойдет до E=0.1, но это она делает
Фактически в программе нужно подправить только самый конец там где float cParam
Просто мне с программой друг помогал я в них только новичок, но он уехал
Или хотябы подскажите что делать?
C++
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
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define size 1001
 
float ctime(int N, float *Ti);
float cUin(int N, float *Ti, float *Uin);
float cUout(int N, float *Uin, float *Uout);
float cout(int N, float *Ti, float *Uin, float *Uout);
float cParam(int N, float *Ti, float *Uout);
 
 int N=21,i,B=5,a=5;
float b=0.5, tn=0,tk=2,time[size],Uin[size],Uout[size],E=0.1,P=100,h,d=2,W,V=100;
char op[1],R;
 
 
int main()
{while (P>E)
{
ctime(N,&time[0]);
cUin(N,&time[0],&Uin[0]);
cUout(N,&Uin[0],&Uout[0]);
printf("\n Vivesti otladnuju pechatj?\n");
scanf("%s",op);
if (op[0]=='y')
cout(N,&time[0],&Uin[0],&Uout[0]);
cParam(N,&time[0],&Uout[0]);
getch();
N=N*2;
 
printf("\n Parametr=%f",W);
 
if (N>1000)
{
 printf(" Vnimanie!Oshibka!");
 getch();
 return 0;
}
 
getch();
}
N=N/2;
if (P<E)
 
return 0;
}
 
float ctime(int N, float *Ti)
{
    h=(tk-tn)/(N-1);
 
    *Ti=tn;
 
    for(i=1;i<N;i++)
    *(Ti+i)=*(Ti+i-1)+h;
 
return 0;}
 
float cUin(int N, float *Ti, float *Uin)
{
    for(i=0; i<N; i++)
    *(Uin+i)=(B*exp(-(d**(Ti+i))))*sin(*(Ti+i));
 
 return 0;
}
float cUout(int N, float *Uin, float *Uout)
{
    for(i=0;i<N;i++)
 
*(Uout+i)=(a*exp(b**(Uin+i)));
return 0;
}
 
float cout(int N, float *Ti, float *Uin, float *Uout)
{
for(i=0;i<N;i++)
printf("\n   %4d    %4f   %4f    %4f   ",i+1,*(Ti+i),*(Uin+i),*(Uout+i));
return 0;
}
 
float cParam(int N, float *Ti, float *Uout)
{
float Umax=7.77, Tmax;
int i=0;
while (*(Uout+i)<=Umax)
{
Tmax=*(Ti+i);
i++;
}
W=Tmax-*Ti;
P=fabs(W-V);
V=W;
 
printf("\nPogreshnost=%f",P);
return 0;
}
Добавлено через 1 час 42 минуты 23 секунды
Вот константы

Tнач tn Начальное время
Tкон tk Конечное время
d d
Uвх(t) Uin Входное напряжение
Uвых(t) Uout Выходное напряжение
Vin1 Vin1 Напряжение(коэффициент вычисления Uout)
ε E Константа, с которой сравнивается погрешность
p p Погрешность
ti Ti Время
N N Количество значений
a a Напряжение(коэффициент вычисления Uin)
B B
d d
b b
h h Шаг

Добавлено через 2 часа 23 минуты 25 секунд
Ну я подумал посидел и решил просто из tk(конечного времени) вычесть Tmax вроде работает хотя правильно ли это неуверен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2009, 00:17
Ответы с готовыми решениями:

Как определить длительность музыкальной композиции в минутах и секундах используя библиотеку bass?
Как определить длительность музыкальной композиции в минутах и секундах...

После того как установил все проги, машина начинает перезагружаться
Привет всем,вообщем у меня такая проблема.Непонимаю почему,при установки винды...

Не могу запустить Windows после того как выключили свет, только начинает загружаться и делает перезагрузку
ребята не могу запустить Windows по сле того как выключили свет.Только...

После того как переустановил виндоус с ХР на 7, комп внезапно отрубается, все тухнет, только видюха начинает громче гудеть
Здрасте. После того как переустановил виндоус с ХР на 7, начались следующие...

График должен убывать, а он напротив, возрастает (исправить код)
private void button1_Click(object sender, EventArgs e) { ...

1
Teemz
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 2
18.06.2009, 18:16 #2
Здравствуйте, еще раз, программа все правильно работает, вот только Umax=7.77 нужно высчитать в программе, а я просто так вписал тк знаю это значение из MathCad. Подскажите пожалуйста как это сделать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2009, 18:16

Как посчитать длительность Прямоугольного импульса (Меандр)
Доброго времени суток . Поставленная задача : при поступлении сигнала МК...

Как выгоднее посчитать разницу в секундах между действиями?
Задача стоит такая, делаю запросы на сайт, мне нужно считать сколько времени в...

Определить продолжительность события в часах, минутах и секундах, если событие задано в секундах
Задана продолжительность некоторого события в секундах целым числом. Считая,...


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

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

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