Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с замораживанием изменяющегося значеня (https://javascript.ru/forum/misc/24453-problema-s-zamorazhivaniem-izmenyayushhegosya-znachenya.html)

Kaviton 30.12.2011 11:47

Проблема с замораживанием изменяющегося значеня
 
Имеется газовый счетчик, который передает показания газа. Эти показания меняются. Необходимо найти моментальный расход газа по формуле Qb(t)=(Vb(t1+t2-t1)−Vb(t1))/(t2-t1).
Qb - моментальный расход газа м3/ч
Vb - показание счетчика в определенный момент времени
Проблема в том как зафиксировать начальное показание, т.е. Vb

Livaanderiamarum 30.12.2011 12:21

var startVb = Vb //зафиксировали в переменной startVb

Kaviton 30.12.2011 12:59

Может я не правильно сформулировал вопрос, попробую подробнее. var Vb = getTag( 'Vb') Переменная Vb допустим на данный момент имеет значение 100, через какое то время изменилось на 200, т.е. мне нужно (200-100)/(t1-t2)

Livaanderiamarum 30.12.2011 13:03

Цитата:

Сообщение от Kaviton (Сообщение 147342)
Может я не правильно сформулировал вопрос, попробую подробнее. var Vb = getTag( 'Vb') Переменная Vb допустим на данный момент имеет значение 100, через какое то время изменилось на 200, т.е. мне нужно (200-100)/(t1-t2)

//фиксируешь в эти переменные время и значение
vb1 = VB
t1 = (new Date).getTime()



//как прошло время нужное тебе и значение и время изменились вычитаешь

vb2 = VB
t2 = (new Date).getTime()

(vb1-vb2)/(t1-t2)

Kaviton 30.12.2011 13:13

В результате получаю ноль, я полагаю что vb1=vb2

Livaanderiamarum 30.12.2011 13:15

Цитата:

Сообщение от Kaviton (Сообщение 147347)
В результате получаю ноль, я полагаю что vb1=vb2

и в чем проблема?

Kaviton 30.12.2011 13:18

100-100=0
и 0/(t1-t2 ) получаю 0
Необходимо первое число заморозить 200-100

Livaanderiamarum 30.12.2011 13:26

Цитата:

Сообщение от Kaviton (Сообщение 147350)
100-100=0
и 0/(t1-t2 ) получаю 0
Необходимо первое число заморозить 200-100

вы не ответили на мой вопрос, в чем проблма то?
мы заморозили первое число и время, потом мы вычислили разницу. делайте вывод что значение не изменилось. вот и получается ноль.

Kaviton 30.12.2011 13:36

Проблема в том, что я должен разницу чисел поделенную на время в течении которого произошли изменения,т.е. если предположить что изменения между 100 и 200 произошли через 5 сек, получаем
(200-100)/5=20

Livaanderiamarum 30.12.2011 13:38

Цитата:

Сообщение от Kaviton (Сообщение 147355)
Проблема в том, что я должен разницу чисел поделенную на время в течении которого произошли изменения,т.е. если предположить что изменения между 100 и 200 произошли через 5 сек, получаем
(200-100)/5=20

нуу)!! а у тебя изменения не произошли!! раз vb1 и vb2 равны)) что сложного я говорю)?

через какое время ты начинаешь vb2 вычислять и проверять разницу)?


Часовой пояс GMT +3, время: 01:09.