Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 16:56   #1
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию тригонометрическая апроксимация

Подскажите как составить матрицу Лагранжа для для апроксимации тригонометрическими функциями. Не могу понять откуда какие коэффициенты беруться.
Желательно конечно и текст написать на C#, но это необязательно.
работаю с массивом точек
double[,] AB = {{1,2,3,4,5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21},
{175,196,230,253,245,205,135,100,82 ,85,82,64,29,10,15,50,110,158,174,1 73,175}};

вот написал функцию только немогу понять правильно ли она считает коэффициетны.
Это для случая a0+a1*Cos(x)+a2*Sin(x)
Код:
        private double[,] GrammMatrix(double[,] Uzli)
        {
            double[,] Gramm = new double[3, 4];
            if (Uzli.GetLength(0) == 2)
            {
                int n = Uzli.GetLength(1);
                for (int i = 0; i < n; i++)
                {
                    Gramm[0, 0] += 1; Gramm[0, 1] += Math.Cos(Uzli[0, i]); Gramm[0, 2] += Math.Sin(Uzli[0, i]); Gramm[0, 3] += Uzli[1, i];
                    Gramm[1, 0] += Math.Cos(Uzli[0, i]); Gramm[1, 1] += Math.Pow(Math.Cos(Uzli[0, i]), 2); Gramm[1, 2] += Math.Cos(Uzli[1, i]) * Math.Sin(Uzli[0, i]); Gramm[1, 3] += Math.Cos(Uzli[0, i]) * Uzli[1, i];
                    Gramm[2, 0] += Math.Sin(Uzli[0, i]); Gramm[2, 1] += Math.Cos(Uzli[1, i]) * Math.Sin(Uzli[0, i]); Gramm[2, 2] += Math.Pow(Math.Sin(Uzli[0, i]), 2); Gramm[2, 3] += Math.Sin(Uzli[0, i]) * Uzli[1, i];
                }
            }
            return (Gramm);
        }
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.

Последний раз редактировалось KobolD; 24.01.2011 в 22:10.
KobolD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц