Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.86.138] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Leprecon Спасибо за самый реальный подход из предложенных
Только фвозникает вопрос как w'(x) будет Bыглядеть для (Sin(x))^m |
Сообщ.
#17
,
|
|
|
Trurl Полностью согласен тем более что мне необходимо опериро?ть и бес того мaлыми Bеличинaми
|
Сообщ.
#18
,
|
|
|
ну ежели тебе надо вычислять производную только от (sin(x))^m, то тогда можно сделать ещё проще и в то же время точнее - продифференцировать её и подставлять значения в найденную производную.
((sin(x))^m)'=m*(sin(x))^(m-1)*cos(x) |
Сообщ.
#19
,
|
|
|
А ты попробуй найти производную n-й степени от sinn(x) ?
Цитата wormball, 15.03.03, 19:13:59 Я ведь так понял, что ты самый ... 8)как я понимаю, спасибо мне 8). Цитата True_Hart, 29.03.03, 11:21:08 w'(x) - это не производная от w(x), это выражение, которое находится по формуле которую,я привел. Более того, если ты подставишь туда xk - то это будет просто константа. Не забудь пропустить (x-xk), как там написанно Leprecon Спасибо за самый реальный подход из предложенных Только фвозникает вопрос как w'(x) будет Bыглядеть для (Sin(x))^m x0, x1, ... - это узлы сетки, на которую ты разобьешь отрезок [a,b], на котором тебе надо найти производную. |
Сообщ.
#20
,
|
|
|
#14 Мысль правильная, но многочлен Лагранжа имеет слишком мало общего с самой функцией. Лучше использовать аппроксимацию на основе разложения в ряд. Проще всего посмотреть в каком-нибудь справочнике - там все коэффициенты уже посчитаны.
Точнее всего сделать аналитически, но как я понимаю, задача по численным методам . |
Сообщ.
#21
,
|
|
|
Цитата Пожалуй это действительно удобнее. Может для такой функции имеет смысл построить ряд Фурье? Лучше использовать аппроксимацию на основе разложения в ряд. Цитата Ряд и его производную наверно можно аналитически. А оставшиеся вычисления численно Точнее всего сделать аналитически, но как я понимаю, задача по численным методам Численно ряд построить не так уж сложно. Но для ряда Тейлора, придется все равно вычислять n-ую производную, хоть и в одной точке. Численно лучше всего вычислять ряд Фурье, там производных не нужно. |
Сообщ.
#22
,
|
|
|
На досуге почитай Кнута первый том (глава 2 - Структуры данных). Там как пример работы с деревом показано вычисление производной ЛЮБОЙ функции. Код для машины MIX конечно, разобрать можно, но и теоретические идеи очень хороши 8D
|
Сообщ.
#23
,
|
|
|
tserega
Обязательно почитаю... |
Сообщ.
#24
,
|
|
|
Цитата Leprecon, 31.03.03, 14:48:24 Численно лучше всего вычислять ряд Фурье, там производных не нужно. Извини за глупый вопрос "Что такое ряд Фурье?" |
Сообщ.
#25
,
|
|
|
касаемо фурье см тут: http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=algorithm;action=display;num=1016036282
http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=algorithm;action=display;num=1037119227 но я думаю оно тут не поможет. ежели функцию раскладывать в ряд на каком-то промежутке, то получится не обязательно производная твоей функции, всё зависит от точности разложения. вплоть до того, что получится число, отличающееся на порядок. тебе всё-таки надо найти аналитический вид производной - или маткадом, или самому помучаться (если умеешь....). если повезёт, она будет не такой уж и громоздкой 8D. тут на меня снизошёл приступ альтруизма и я решил взять ея прямо тут. ((sin(x))^m)' = m*(sin(x))^(m-1)*cos(x) ((sin(x))^m)'' = m*(m-1)*(sin(x))^(m-2)*(cos(x))^2 - m*(sin(x))^m ((sin(x))^m)''' = m*(m-1)*(m-2)*(sin(x))^(m-3)*(cos(x))^3 - 2*m*(m-1)*(sin(x))^(m-1)*cos(x) - m*m*(sin(x))^(m-1)*cos(x) = m*(m-1)*(m-2)*(sin(x))^(m-3)*(cos(x))^3 - m*(3*m-2)*(sin(x))^(m-1)*cos(x) .... дааааа..... не повезлоооо....... тогда остаётся только численный метод |
Сообщ.
#26
,
|
|
|
Цитата True_Hart, 01.04.03, 00:54:22 Извини за глупый вопрос "Что такое ряд Фурье?" Рассматривается функция в интервале (-L, L) Ряд Фурье, это ряд вида: f(x) = a0/2 + Сумма(ancos(Пnx/L) + bnsin(Пnx/L)) Cумма по n от 1 до бесконечности. П - это константа Пи. Где an = 1/L Инт(f(x)cos(Пnx/L))dx - Интеграл от -L до L, n = 0,1,2,3,... bn = 1/L Инт(f(x)sin(Пnx/L))dx - Интеграл от -L до L, n = 1,2,3,... Определенный интеграл вычислить несложно, можно применить простые методы: прямоугольников, трапеций или парабол. Скажи если нужно их описать. Конечно до бесконечности ряд делать не стоит - скорее всего тебе нужно вручную, пробами, посмотреть до каких n нужно суммировать, чтобы получить нужную точность. А уж вычислить n-ую производную от этого ряда проще простого. |
Сообщ.
#27
,
|
|
|
2Leprecon
вычислить производную ряда фурье, конечно, просто, но нет никакой гарантии, что она будет сколько-либо точно описывать производную нашей функции, и чем больше порядок производной (а здесь он, надо полагать, велик), тем меньше точность. 2True_Hart для чего хоть ето тебе надо? может стоящую перед тобой задачу можно решить более гуманными способами? |
Сообщ.
#28
,
|
|
|
Цитата wormball, 04.04.03, 17:06:13 Я хотя бы решение предлагаю, вместо того, чтобы скептически обсуждать чужие ответы. Почитай любой учебник по численным методам, там тебе сначало скажут, что численное нахождение производной через разностное выражение (Это то, что ты вначале предложил) не корректно, а потом предложат аппроксимировать функцию f(x), многочленом (Это то, что ты сейчас критикуешь). Я предлагаю, заменить функцию, рядом Фурье, так как для его построения не нужно находить производную, и не нужно раскрывать много скобок, как в интерполяционных многочленах. Точность производной будет зависить только от кол-ва слагаемых в ряде, так что можно вычислить ее с какой угодно точностью, повторю: все зависит от длинны ряда.вычислить производную ряда фурье, конечно, просто, но нет никакой гарантии, что она будет сколько-либо точно описывать производную нашей функции, и чем больше порядок производной (а здесь он, надо полагать, велик), тем меньше точность. |
Сообщ.
#29
,
|
|
|
Цитата wormball, 04.04.03, 17:06:13 для чего хоть ето тебе надо? Это все нужно только для того что бы вычеслить центральную аномалию планеты используя формулу Кеплера с применением ряда Лагранжа Нечто вроде E = M + a*sin M + (a^2)/2! * d/dM (sin M)^2 + .... + (a^n)/n! * d/dM^n-1 (sin M)^n Где M - средняя аномалия, a - эксентриситет планетной орбиты |
Сообщ.
#30
,
|
|
|
Ну, тогда о численном методе и не думай! Только аналитически.
|