Форум программистов, компьютерный форум CyberForum.ru

Апроксимация функции МНК - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
fleshk1n
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 8
26.10.2011, 18:51     Апроксимация функции МНК #1
Сделать линейную, квадратичную и кубическую апроксимацию функции методом наименьших квадратов.
Посчитать среднеквадратичное отклоненние и показать как оно меняется со степенью апроксимации.
х: 0.115 0.120 0.125 0.130 0.135 0.140
y: 8.65729 8.29329 7.95829 7.64893 7.36235 7.09613
вот примерный код программы: скажите плз что исправить надо, а если не сложно то лучше напишите подобную верную программу, я не особо шарю в программировании, а из-за не сданной лабы вылететь не очень хочется.. Заранее Спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#define N 6 
#define M 4
main()
{ 
    double x[N]={0.115,0.120,0.125,0.130,0.135,0.140},
        y[N]={8.65729,8.29329,7.95829 ,7.64893,7.36235,7.09613};
    double k,h[M],b[M],a[M][M];
    int i,j,s;
        for (i=0;i<M;i++)
        {
            for(j=0;j<M;j++)
            {
                a[i][j]=0;
                    for (s=0;s<M;s++)
                    {a[i][j]=a [i][j]+pow(x[s],i);}}
                        b[i]=0;
                            for (s=0;s<M;s++)
                            {b[i]=b[i]+y[s]*pow(x[s], i+j);
                            }
                    }
            for(i=0;i<M;j++)
            {for(j=0;j<M;j++)
            printf(" %f " , a[i][j]);
            printf("\n"); }
            printf("\n");
            for (i=0;i<M;i++)
                printf(" %f ",b[i]);
            printf("\n");
 
            for (s=1; s<M-1;s++)
            {for (i=s+1; i<M; i++)
            {k=a[i][s]/a[s][s];
            b[i]=b[i]-k*b[s];
            for( j=s+1;j<M;j++)
            {a[i][j]=a[i][j]-k*a[s][j];}}}
 
            for (i=0;i<M;i++)
            {for(j=0;j<M;j++)
            printf(" %f ", a[i][j]);
            printf("\n");}
            printf("\n");
            for(i=0;i<M;i++)
                printf(" %f/n ",b[i]);
            printf("\n");
 
            h[M]=b[M]/a[M][M];
            for (i=M-1;i>1;i--)
            {k=b[i];
            for(j=i+1;i<N;i++)
            {k=k-a[i][j]*h[i];}
            h[i]=k/a[i][i];}
 
            for (i=0; i<M; i++)
                printf("x%d=f\n",i,h[i]);
                    return 0;
}

скажите плз что исправить надо, а если не сложно то лучше напишите подобную верную программу, я не особо шарю в программировании, а из-за не сданной лабы вылететь не очень хочется.. Заранее Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fleshk1n
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 8
31.10.2011, 09:18  [ТС]     Апроксимация функции МНК #2
Need help!!! Thx
I_like_C++
14 / 14 / 1
Регистрация: 15.03.2010
Сообщений: 126
31.10.2011, 11:15     Апроксимация функции МНК #3
Держи програмулиину на шарпе! Значения х и у берутся из таблицы, в общем ща задание еще прикреплю

Плюсы приветствуются=)
Миниатюры
Апроксимация функции МНК  
Вложения
Тип файла: rar vchMat_laba_4.rar (328.9 Кб, 112 просмотров)
fleshk1n
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 8
01.11.2011, 03:49  [ТС]     Апроксимация функции МНК #4
I Like C++ спасибо, но только это не совсем, то что мне надо... С# другой язык и я вообще не чего не понял там.
Вопрос остается открытым..
Yandex
Объявления
01.11.2011, 03:49     Апроксимация функции МНК
Ответ Создать тему
Опции темы

Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru