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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2013, 17:59   #1
ivan.tiran
Форумчанин
 
Аватар для ivan.tiran
 
Регистрация: 24.08.2011
Сообщений: 138
По умолчанию Аппроксимация функции наименьшими квадратами

Доброго времени суток. Необходимо написать программу аппроксимации функции "y = ax^b".

Выкладки во вложении.

Сам код:

Код:
double fun9(double x)
{
return 10*pow(x,4);

}

void logX(double *x,int n) { int i=0;for(;i<n;i++) x[i]=log(x[i]); }
double SUM9(double *x,double *y,int n) {double t=0;int i=0;for(;i<n;i++) t+=x[i]*y[i];return t;}


void NAIMK(double *x,double *y,double &a,double &b,int n)
{
	
	
logX(x,n);
logX(y,n);
double k[n];
int i=0;
for(;i<n;i++) k[i]=1;

b=(  SUM9(y,k,n)*SUM9(x,k,n)- SUM9(y,x,n) ) / ( SUM9(x,k,n)*SUM9(x,k,n) + SUM9(x,x,n)  );

a=(SUM9(y,k,n)-b*SUM9(x,k,n))/n;
a=exp(a);
}



//В маине

{
	int n=15;
double x[n],y[n],dx=0.5;
double a,b;
for(int i=0;i<n;i++) {x[i]=dx+double(i)*dx; y[i]=fun9(x[i]);}




NAIMK(x,y,a,b,n);

cout << endl << endl << a << endl << b << endl;



}
В функции a = 10, b = 4
На выходе a = 3.14587, b = 4.99117

Предполагаю, что ошибка у меня в выкладках.

Заранее благодарен.
Изображения
Тип файла: jpg 0.jpg (121.5 Кб, 162 просмотров)
Тип файла: jpg 1.jpg (127.5 Кб, 132 просмотров)
Тип файла: jpg 2.jpg (131.0 Кб, 123 просмотров)
ivan.tiran вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Нахождение пары элементов с наименьшими отличиями друг от друга в массиве. GoldSieg Помощь студентам 6 18.02.2013 12:45
аппроксимация для квадратичной функции, с# kefirkamm Помощь студентам 4 23.01.2012 13:54
Аппроксимация функции методом наименьших квадратов(МНК) vitaly38 Помощь студентам 1 29.03.2010 21:50
Паскаль. Аппроксимация функции методом наименьших квадратов. 3abeel Фриланс 17 13.07.2009 09:21
Лаба в Паскале!Аппроксимация функции методом наименьших квадратов! Weltkind Фриланс 1 16.06.2009 17:01