Как получить точки, которые пересекают линию тренда? - PullRequest
1 голос
/ 16 марта 2010

По сути, я провел эксперимент Кавендиша, и у меня есть затухающая синусоидальная волна, нанесенная на график в Excel. С положением (мм) против времени (с).

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

На данный момент у меня просто возникают трудности с пересечением ..

Спасибо

1 Ответ

2 голосов
/ 16 марта 2010

Excel, вероятно, не лучший инструмент, чтобы делать то, что вы хотите. Как правило, вы хотите подогнать данные к демпфированной функции Sin(), например, F(x) = (A - B x) Sin(C x) или F(x) = A exp(-B x) Sin(C x), для линейного или экспоненциального демпфирования. Подгонка кривой к данным даст вам значения констант A, B и C, которые наилучшим образом соответствуют данным, а затем вы можете просто перейти к решению F(x) == f_tread(x), чтобы получить значения x пересечения.

Такие программы, как Mathematica , Matlab или бесплатный Python на основе Sage идеально подходят для этого, и вы можете сделать это буквально в две строки (ну, может быть, три если вам нужно сначала импортировать данные :-)). Я настоятельно рекомендую вам попробовать, если это возможно.

Если вы хотите / должны использовать Excel, то вы можете использовать его аналогичным образом для части подгонка данных , чтобы получить константы A, B, C и т. Д. Однако, часть поиска Пересечения сложнее, и если вы не хотите найти пересечения вручную, вам, вероятно, придется использовать надстройку, такую ​​как Solver и скрипт VBA.

Наконец, третий способ (поскольку у вас, похоже, уже есть формула для затухающей волны греха) - просто вставить уравнение F==tread в WolframAlpha , как , поэтому .

...