Błąd Średniokwadratowy - pomocy

0

Witam pomoże mi ktoś z zadaniem 2 ?

15409865_1306534466063926_1434680145_o.jpg

0

Mam nawet problem żeby się za to zabrać, nie mam pojęcia jak to zrobić :/

0

Okej, w takim razie dwa pytania:

  1. rozumiesz matematyczną notację tego wzoru?
  2. znasz podstawy C++?
0

Tak, część z matmy ogarniam. Podstawy z C++ też mam ;)

0

No to super. Napisz funkcję która przyjmuje 2 n-elementowe tablice i liczy na ich podstawie MSE :​)

0
dynoviak napisał(a):

Tak, część z matmy ogarniam. Podstawy z C++ też mam ;)

No to do dzieła, bo tu nie ma żadnego myślenia, po prostu masz zapisać wzór matematyczny w postaci kodu C++.

0
int liczenie(double zmierzone[], double oczekiwane[],int rozmiar);
{  
        double blad=0;
        for(int i=0;i<rozmiar;i++);
        {
            blad=blad+((zmierzone[i]-oczekiwane[i])*(zmierzone[i]-oczekiwane[i]));
        }
        blad=blad/rozmiar;
        return blad;
}

Mam tak i nie chce się skompilować :/

0

Masz nadmiarowy średnik po forze. Poza tym wygląda ok jak na początkującego :​)

0

Po poprawce to samo :/

1

Aha, no tak, jeśli definiujesz funkcję to po jej prototypie też nie dajesz średnika.

Tak swoją drogą: "nie chce się skompilować" jest szalenie mało deskryptywne. Masz szczęście, że dziś chciało mi się wyciągać​ szklaną kulę, na przyszłość wklej komunikat błędu od kompilatora.

0

Prawdopodobnie potrzebujesz jeszcze funkcji main, która jest punktem startu programu w C++. Zobacz sobie przykładowe HelloWorld w tym języku.

0

Sorka, dopiero zaczynam przygodę ogólnie z forum i programowaniem...

0

Definiowanie funkcji w funkcji jest zabronione. Wytnij ją i wklej przed funkcję główną main().
Kod wklejaj w poście.
http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-pierwsze-starcie/291
http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-a-slowo-kluczowe-return/339
Funkcje
Dlaczego nikt nie odpowiada w moim wątku?

0
int liczenie(double zmierzone[], double oczekiwane[],int rozmiar)
int main()
{

{
        double blad=0;
        for(int i=0;i<rozmiar;i++)
        {
            blad=blad+((zmierzone[i]-oczekiwane[i])*(zmierzone[i]-oczekiwane[i]));
        }
        blad=blad/rozmiar;
        return blad;
}

    cout << "Hello world!" << endl;
    return 0;
}

Tak wygląda teraz i dalej nic :(

0

Najpierw funkcja liczenie, potem main. Czyli coś w stylu:

double liczenie(double zmierzone[], double oczekiwane[], int rozmiar)
{
    // tutaj ciało tej funkcji
}

int main()
{
   // a tutaj główny program
}

Zauważ, że liczenie musi być typu double (bo chcesz, żeby zwracało double). Dobrze by było też tę nazwę zmienić na taką, która coś znaczy… meanSquaredError wydaje się być najlepszą możliwą nazwą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1