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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пара простеньких заданий http://www.cyberforum.ru/cpp-beginners/thread40088.html
Добрый день.Я хотел бы обратиться с просьбой помочь мне с проблемой.Я не могу выполнить два простеньких задания так как я в С не очень силён.Могли бы вы помочь мне в этом. 1. Постановка задачи Для...
C++ Програма макроподстановок в assemler ной програме Добрый день,есть такая задача - написать програму для макроподстановок в асемблерной програме. Тоесть нужно открыть файл *.asm найти тело макроса,и дописать его в основной код програмы,там где он... http://www.cyberforum.ru/cpp-beginners/thread40076.html
Арифметическое выражение C++
В записи арифметического выражения используются круглые, квадратные и фигурные скобки. Проверить, верно ли расставлены скобки, соответствие открытых и закрытых скобок. Входные данные - строка...
Двумерный массив C++
Собственно помогите решить задачи на двумерный масив пжл) Дан массив A. Известно что среди его элементов два и только 2 равны, вывести их индексы. Вот идеи: #include <iostream> using...
C++ Не могу разобраться с матрицей http://www.cyberforum.ru/cpp-beginners/thread40044.html
В заданной матрице A(N,M) (N<10, M<20) в каждом столбце поменять местами максимальный и минимальный элементы. Матрицу напечатать Заранее спасибо!
C++ не получается исправить ошибку Здравствуйте Сочту за великое дело помочь человеку, который не умеет работать со стеками. Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по... подробнее

Показать сообщение отдельно
Teemz
Сообщений: n/a

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

15.06.2009, 00:17. Просмотров 495. Ответов 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 вроде работает хотя правильно ли это неуверен
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru