Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Функция задана по точкам. Например, x1=1, y1=5 x2=2, y2=7 x3=3, y3=9 ... Нужно соединить точки не прямолинейными отрезками, а "плавными линиями", чтобы "углов" не было. Решил каждые две точки соединять полиномом 3-го порядка. Чтобы отрезки стыковались друго с другом без изломов, нахожу первые производные. Итак. Пусть есть у нас две точки А (x1,y1) и Б (x2,y2), через которые проходит функция. Кроме того, мы знаем первые производные в этих точках. Составляю систему: a0 + a1*x1 + a2*x1^2 + a3*x1^3 = y1 a0 + a1*x2 + a2*x2^2 + a3*x2^3 = y2 0 + a1 + 2*a2*x1 + 3*a3*x1^2 = dy1/dx1 {это производная в точке А} 0 + a1 + 2*a2*x2 + 3*a3*x2^2 = dy2/dx2 {это производная в точке Б} Так вот. У меня эта система получается линейно-зависимой. Не получается привести ее к треугольному виду (для решения методом Гаусса). После преобразований последние два уравнения принимают, например, такой вид: 0 0 1 7 5 0 0 3 21 6 То есть попытка вычесть из одного уравнения к другому приводит к тому, что в последнем уравнении получаются все нули (кроме свободного члена) Другими словами получается такая матрица: 1 x x x 0 1 x x 0 0 1 x 0 0 0 0 Подскажите, пожалуйста, в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:41 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Не решайте дифуры Гауссом. Юзайте Коши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:02 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
zz118Не решайте дифуры Гауссом. Юзайте Коши. Да тут дело, похоже, не в методе, а в исходных данных. Определитель такой системы равен нулю (в маткаде проверил). Решения не найти. Но почему? Неужели по двум точкам и первых производных в них нельзя найти функцию??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:13 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
1. Метод Гаусса - решение линейных систем, Формула Коши - дифуры. 2. Достаточно полинома второй степени: правильный ответ - парабола. 3. Если точек много, то нужно юзать полиномы Лагранжа. кол-во точек = степень полинома. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:18 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
zz1181. Метод Гаусса - решение линейных систем, Формула Коши - дифуры. 2. Достаточно полинома второй степени: правильный ответ - парабола. 3. Если точек много, то нужно юзать полиномы Лагранжа. кол-во точек = степень полинома. Ну хорошо. Тогда Коши тут ни при чем совсем. У меня система линыйных уравнений. Посмотрите, пожалуйста, выше. Производная там уже вычислена и подставлена в виде числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:23 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
интересно, из каких соображений она вычислена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:33 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Федор_Федор zz1181. Метод Гаусса - решение линейных систем, Формула Коши - дифуры. 2. Достаточно полинома второй степени: правильный ответ - парабола. 3. Если точек много, то нужно юзать полиномы Лагранжа. кол-во точек = степень полинома. Ну хорошо. Тогда Коши тут ни при чем совсем. У меня система линыйных уравнений. Посмотрите, пожалуйста, выше. Производная там уже вычислена и подставлена в виде числа. Может я че прогоняю, но как можно вычислить и подставить в виде числа производную неизвестной функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:35 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
a0 + a1*x1 + a2*x1^2 + a3*x1^3 = y1 a0 + a1*x2 + a2*x2^2 + a3*x2^3 = y2 a0 + a1*x3 + a2*x3^2 + a3*x3^3 = y3 надо просто решить эту систему кубических алгебраических (не дифференциальных!) уравнений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:38 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Sandro_K Может я че прогоняю, но как можно вычислить и подставить в виде числа производную неизвестной функции? Ну здорово... Вы шутите? Мы можем не знать функцию, но задать, что в точке с координатами, например, (x1,y1), производная равна нулю (в этой точке перегиб). Или можем задать, что производная равна единице (в этой точке касательная идет под углом 45 градусов). И т.д. У меня есть две точки. Через две точки можно провести бесконечное число парабол, кстати. Я задаю дополнительные параметры - касательные (производные) в этих точках. Касательные определяются, хотя это не важно, по другим, соседним, точкам. Это не я придумал. Посмотрите, например, тут: http://www.enlight.ru/demo/faq/smth.phtml?query=alg_curves_splines Первая страничка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:40 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
RTFM: интерполяционные полиномы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:52 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Sandro_Ka0 + a1*x1 + a2*x1^2 + a3*x1^3 = y1 a0 + a1*x2 + a2*x2^2 + a3*x2^3 = y2 a0 + a1*x3 + a2*x3^2 + a3*x3^3 = y3 надо просто решить эту систему кубических алгебраических (не дифференциальных!) уравнений Число линейно-независимых уравнений должно быть равно числу неизвестных. По-моему, это 9 класс. А я уже ошибку нашел. Просто глупейшая ошибка. Когда набирал текст, забыл коэффициенты... Устал просто... Потом не заметил. Всем спасибо за помощь. Все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:57 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Как я понял ты пытаешься делать интерполяцию сплайнами, извини, сразу не догнал Твоя систему уравнений правильная, только непонятно как ты ее решаешь и она должна решаться нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:59 |
|
||
|
Апроксимация. Помогите найти ошибку.
|
|||
|---|---|---|---|
|
#18+
Sandro_KКак я понял ты пытаешься делать интерполяцию сплайнами, извини, сразу не догнал Твоя систему уравнений правильная, только непонятно как ты ее решаешь и она должна решаться нормально Да, виноват, просто в коде сделал ошибку, смотрел на нее, как баран на новые ворота три часа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 18:49 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34095117&tid=1346482]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 332ms |

| 0 / 0 |
