Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Teemz
Сообщений: n/a
15.06.2009, 00:17     Посчитать длительность в секундах после того как График начинает убывать #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 вроде работает хотя правильно ли это неуверен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2009, 00:17     Посчитать длительность в секундах после того как График начинает убывать
Посмотрите здесь:

как зациклить switch, чтобы после того как я допустим ввожу f и он считает циклом for, потом снова просил введите символ C++
Как задать время выполнения цикла в секундах? C++
Как замерить длительность выполнения кода? C++
C++ c++ посчитать все элементы массива после 0
Как изменить размер динамического массива структур после того как был добавлен товар C++
C++ Посчитать все элементы в массиве после последнего отрицательного
C++ Теряю ссылку на элемент в std::vector после того, как делаю push_back следующего элемента
C++ Как вывести корректное время выполнения программы в секундах?
Как сделать вывод сумм времени в секундах и миллисекундах? C++
Пролетает cin, после того как goto возвращается в начало программы C++
Цикл завершающийся после того, как переменная примет рандомно каждое значение из заданного промежутка C++
Найти массу еды в муравейнике после того, как все муравьи вернутся домой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Teemz
Сообщений: n/a
18.06.2009, 18:16     Посчитать длительность в секундах после того как График начинает убывать #2
Здравствуйте, еще раз, программа все правильно работает, вот только Umax=7.77 нужно высчитать в программе, а я просто так вписал тк знаю это значение из MathCad. Подскажите пожалуйста как это сделать?
Yandex
Объявления
18.06.2009, 18:16     Посчитать длительность в секундах после того как График начинает убывать
Ответ Создать тему
Опции темы

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