In de vorige oefening programmeerde je het kwadratische gemiddelde:

Het kwadratisch gemiddelde xq wordt gedefinieerd als:

xq=1ni=1nxi2

Er bestaat echter ook een kubisch gemiddelde:

Het kubisch gemiddelde xc wordt gedefinieerd als:

xc=1ni=1nxi33

Dit gemiddelde heeft bepaalde eigenschappen waardoor het bijvoorbeeld goed werkt bij het voorspellen van de levensduur van mechanische onderdelen. Dit gemiddelde valt echter nog verder te veralgemenen:

Het veralgemeend gemiddelde of het Hölder gemiddelde xH wordt gedefinieerd als:

xH=1ni=1nxipp

Gevraagd

Programmeer de functie mean_generalized() die gegeven een vector data en een parameter p het veralgemeend gemiddelde berekent. Rond telkens af op 2 cijfers.

Voorbeeld

> mean_generalized( c(98, 97, 98, 99, 100, 98), )
[1] 98.34

Tip

Functies hebben onderstaande syntax binnen R. Tussen de haakjes kunnen meerdere parameters staan:

functienaam <- function(parameters) {
    # Allerhande berekeningen
    return( resultaat )
}

Een voorbeeld ter illustratie: het BMI van een persoon hangt bijvoorbeeld af van de massa en lengte en die berekening kan je in een functie met twee parameters gieten:

bepaal_bmi <- function(massa, lengte) {
    resultaat <- massa / lengte^2
    return(round(resultaat, 2))
}

Deze functie kan dan uitgevoerd worden als volgt bepaal_bmi(70, 1.80) en resulteert dan in 21.6.