abonnement Unibet Coolblue Bitvavo
pi_39171443
quote:
Op vrijdag 23 juni 2006 19:17 schreef GlowMouse het volgende:

[..]

Helaas is de cumulatieve verdelingsfunctie van de standaardnormale verdeling niet zo eenvoudig gedefinieerd. Zonder tabel of GR is het onmogelijk tot een oplossing te komen, tenzij het om een bekende bovengrens gaat, zoals 0 of 1,645.
En de eenvoudige rekenmachines zoals die in de onderbouw van het middelbaar onderwijs gebruikt worden, kunnen geen integralen uitrekenen, en kennen ook de normale verdeling niet.
Ik bedoelde dus met tabel..., enne die integraal is nu niet echt moeilijk te noemen.
  zaterdag 24 juni 2006 @ 12:29:27 #102
75592 GlowMouse
l'état, c'est moi
pi_39174204
quote:
enne die integraal is nu niet echt moeilijk te noemen.
Er bestaat geen primitieve van die integraal, dus moeilijker kan volgens mij niet. Je kunt wel benaderingsformules zoeken en gebruiken, maar een exacte oplossing is met pen, papier en een eenvoudige rekenmachine niet te verkrijgen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39209344
Over 3 dagen een tentamen Calculus, en zit met de vraag of ik dit probleem goed oplos (zonder gebruik te maken van Lagrange multipliers)

Bepaal het maximum en minimum van f(x,y) op het gebied D

f(x,y) = 2x^3 + y^4

D={(x,y) | x^2 + y^2 <= 1}


Mijn oplossing zou zijn:

Eerst bepalen of er kritieke punten zijn. M.a.w. de partieel afgeleide bepalen voor x en y en kijken waar deze 0 zijn. Dit is in dit geval voor het punt (0,0) waarmee f(0,0) = 0.

Het is duidelijk dat dit niet het maximum van de functie oplevert op dat gebied, dus nu moeten de randpunten onderzocht worden die op de cirkel met straal één liggen. Zie D.

Aangezien het gaat om randpunten valt te zeggen: x^2 + y^2 = 1

Hieruit volgt y = +/- Sqrt(1 - x^2 )

En hierna loop ik eigenlijk vast. Je moet deze vergelijking volgens mij invullen in de hoofdvergelijking waarmee je y vervangt door Sqrt(1 - x^2)... maar dan?

Wie zou me hiermee kunnen helpen. Alvast erg bedankt.
  zondag 25 juni 2006 @ 16:40:31 #104
118774 Enigmatic
Question everything?
pi_39210468
quote:
Op zondag 25 juni 2006 16:08 schreef 205_Lacoste het volgende:
Over 3 dagen een tentamen Calculus, en zit met de vraag of ik dit probleem goed oplos (zonder gebruik te maken van Lagrange multipliers)

Bepaal het maximum en minimum van f(x,y) op het gebied D

f(x,y) = 2x^3 + y^4

D={(x,y) | x^2 + y^2 <= 1}


Mijn oplossing zou zijn:

Eerst bepalen of er kritieke punten zijn. M.a.w. de partieel afgeleide bepalen voor x en y en kijken waar deze 0 zijn. Dit is in dit geval voor het punt (0,0) waarmee f(0,0) = 0.

Het is duidelijk dat dit niet het maximum van de functie oplevert op dat gebied, dus nu moeten de randpunten onderzocht worden die op de cirkel met straal één liggen. Zie D.

Aangezien het gaat om randpunten valt te zeggen: x^2 + y^2 = 1

Hieruit volgt y = +/- Sqrt(1 - x^2 )

En hierna loop ik eigenlijk vast. Je moet deze vergelijking volgens mij invullen in de hoofdvergelijking waarmee je y vervangt door Sqrt(1 - x^2)... maar dan?

Wie zou me hiermee kunnen helpen. Alvast erg bedankt.
Gewoon invullen in de hoofdvergelijking zoals je al zegt:

2x^3 + (sqrt(1-x^2))^4 = 2x^3 + 1 - 2x^2 + x^4

Daarvan neem je de afgeleide en die stel je gelijk aan nul:

6x^2 - 4x +4x^3 = x(6x-4+4x^2) = 0

Uitwerken met abc formule en als het goed is volgen daar dan de kritieke punten op de rand uit.
Checken voor de onderkant van de cirkel (met die -sqrt()) is niet nodig aangezien de min toch wegvalt.

Succes ermee
pi_39210679
Je oplossing klopt in ieder geval niet aangezien x= 0,5 en x= -2 0 oplevert uit je afgeleide functie.

Het maximum voor de functie f(x,y) zit echter op (1,0) en het minimum op (-1,0).
pi_39210804
Dat de min en max zitten op bovengenoemde punten zie ik namelijk ook wel als ik naar de functie kijk, maar het gaat om het wiskundige bewijs.

(Per ongeluk mezelf gequote, dus een soort van aangepaste dubbelpost)
  zondag 25 juni 2006 @ 16:55:40 #107
118774 Enigmatic
Question everything?
pi_39211001
quote:
Op zondag 25 juni 2006 16:46 schreef 205_Lacoste het volgende:
Je oplossing klopt in ieder geval niet aangezien x= 0,5 en x= -2 0 oplevert uit je afgeleide functie.

Het maximum voor de functie f(x,y) zit echter op (1,0) en het minimum op (-1,0).
Waarschijnlijk komt het doordat je wortelfunctie de halve cirkel beslaat van (-1,0) t/m (1,0), vandaar dat de afgeleide die punten niet pakt, ook dit zijn immers weer randpunten. Je moet dus ook bij die afgeleide van mij weer checken op randpunten en dan kom je wel tot je antwoord.
pi_39211379
quote:
Op zondag 25 juni 2006 16:55 schreef Enigmatic het volgende:

[..]

Waarschijnlijk komt het doordat je wortelfunctie de halve cirkel beslaat van (-1,0) t/m (1,0), vandaar dat de afgeleide die punten niet pakt, ook dit zijn immers weer randpunten. Je moet dus ook bij die afgeleide van mij weer checken op randpunten en dan kom je wel tot je antwoord.
Dat is nou het hele punt, die randpunten liggen juist op die cirkel. En aangezien je niet alle punten op die cirkel kan bekijken zoals bij een gebied besloten in een rechthoek waar je alleen de hoekpunten hoeft te nemen is het ook met formule op te lossen.

Ik heb nu x = Sqrt(1-y^2) genomen

Invullen in f(x,y)= 2 (1-y^2) + y^4 = ^y4 - 4y^2 + 1

Afgeleide op 0 stellen -> f'(y) = 4y^3 - 8y = 0

Levert op y = 0

Hiermee mag x 1 of -1 zijn (Te herleiden uit x^2 = 1-y^2)

Kan iemand deze oplossing bevestigen?

@ Enigmatic

Sowieso bedankt voor de moeite die je neemt om het probleem op te lossen! Ik denk alleen dat er ergens bij jouw afgeleide wat misgaat waardoor die rare x=0,5 en nog een andere eruit komen rollen. Dit zijn namelijk absoluut géén kritieke punten van deze functie.
  zondag 25 juni 2006 @ 17:10:59 #109
118774 Enigmatic
Question everything?
pi_39211602
mja die afgeleide die ik neem gaat over de rand van de cirkel, de enige top ligt dus bij 0.5
dan moet je enkel nog checken voor de randpunten, en die blijken idd hoger te zijn dan alles op de rand en binnen de cirkel. Lijkt mij een net bewijs.
pi_39211761
quote:
Op zondag 25 juni 2006 17:10 schreef Enigmatic het volgende:
mja die afgeleide die ik neem gaat over de rand van de cirkel, de enige top ligt dus bij 0.5
dan moet je enkel nog checken voor de randpunten, en die blijken idd hoger te zijn dan alles op de rand en binnen de cirkel. Lijkt mij een net bewijs.
Ook een top ligt niet op 0,5, kijk maar naar de partieel afgeleide over de Fx en de Fy. Hieruit blijkt dat er alleen een kritiek punt op 0,0 ligt. Dit geldt voor zowel binnen als buiten de cirkel. Alleen het afbakenen t/m de rand van de cirkel zorgt ervoor dat er een absoluut maximum en minimum ontstaan waar de partieel afgeleiden Fx en Fy helemaal geen 0 hoeven te zijn.

Ik denk gewoon dat je met het maken van die afgeleide een fout hebt gemaakt bij het tussen haakjes halen, of dat je bijvoorbeeld bent vergeten door te differentiëren
  zondag 25 juni 2006 @ 17:43:35 #111
118774 Enigmatic
Question everything?
pi_39212697
Ja is ook goed mogelijk, je zou het ook nog even kunnen checken in maple, weet je in één keer hoe het in elkaar zit
  zondag 25 juni 2006 @ 17:55:16 #112
75592 GlowMouse
l'état, c'est moi
pi_39213127
Bij y = Sqrt(1-x^2) zijn jullie vergeten om naar de tweede afgeleide te kijken. Voor een maximum moet die negatief zijn.
Bij x = Sqrt(1-y²) zijn jullie dat ook vergeten, maar omdat het gezochte punt daar geen randpunt is, ging het daar wel goed.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39213170
quote:
Op zondag 25 juni 2006 17:43 schreef Enigmatic het volgende:
Ja is ook goed mogelijk, je zou het ook nog even kunnen checken in maple, weet je in één keer hoe het in elkaar zit
Ja, is op zich wel een goede. Moet ik natuurlijk wel weer even uitzoeken hoe Maple werkt, is al lang geleden Eens kijken of ik 4 jaar na dato m'n laatste P vak eens kan binnenkoppen
pi_39213307
quote:
Op zondag 25 juni 2006 17:55 schreef GlowMouse het volgende:
Bij y = Sqrt(1-x^2) zijn jullie vergeten om naar de tweede afgeleide te kijken. Voor een maximum moet die negatief zijn.
Bij x = Sqrt(1-y²) zijn jullie dat ook vergeten, maar omdat het gezochte punt daar geen randpunt is, ging het daar wel goed.
Dan doel je vast op D=Fxx*Fyy - [ Fxy]^2

D>0 en Fxx >0 dan een minimum
D>0 en Fxx <0 dan een minimum
D=0 dan een zadelpunt

In beide gevallen gaat het om randpunten aangezien x^2+y^2=1 Dus ook als je deze functie als functie van x of y schrijft.

Dit doet echter niet terzake in dit geval. Dit zou alleen voor het kritieke punt 0,0 bekeken kunnen worden. Maar de vraag is niet of we te maken hebben met een locaal min of max, maar een globaal min of max.
  zondag 25 juni 2006 @ 18:03:54 #115
75592 GlowMouse
l'état, c'est moi
pi_39213468
Nee, ik had het over deze: f'(x) = 6x^2 - 4x +4x^3 = 0. f''(x) = 12x²+6x-4
f'(x)=0 levert x=0, x=0,5 of x=-2. De tweede orde afgeleide is alleen voor x=0 negatief, de andere twee punten vallen dus sowieso af.
Met Kuhn-Tucker kom ik op (1,0) als maximum.

[ Bericht 11% gewijzigd door GlowMouse op 25-06-2006 18:21:24 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39214304
quote:
Op zondag 25 juni 2006 18:03 schreef GlowMouse het volgende:
Nee, ik had het over deze: f'(x) = 6x^2 - 4x +4x^3 = 0. f''(x) = 12x²+6x-4
f'(x)=0 levert x=0, x=0,5 of x=-2. De tweede orde afgeleide is alleen voor x=0 negatief, de andere twee punten vallen dus sowieso af.
Met Kuhn-Tucker kom ik op (1,0) als maximum.
Jawel, maar die afgeleide met x=0,5 en x=-2 klopt in het geheel niet bij de opgave.

En (1,0) is inderdaad het maximum, en (-1,0) het minimum. Maar daar was ik met mijn oplossing inmiddels achter
  zondag 25 juni 2006 @ 19:12:20 #117
75592 GlowMouse
l'état, c'est moi
pi_39216087
quote:
In beide gevallen gaat het om randpunten aangezien x^2+y^2=1 Dus ook als je deze functie als functie van x of y schrijft.
Als je x uitdrukt in y, loop je constant over de rand, en zegt de afgeleide wat er gebeurt als je x groter of kleiner maakt. Dat je dan de straal kunt vergroten om een grotere functiewaarde te krijgen, zit niet meer in deze afgeleide verborgen.

Punt is dat je eerst x uitdrukt in y, en daarna maar andersom omdat de eerste niet zou werken. Dat is onzin. Substitueer y=wortel(1-x²). Merk op dat dit overeenkomt met met substitutie van y=-wortel(1-x²).
f(x) = x^4 + 2x³ - 2x² + 1
f'(x) = 4x³+6x²-4x
f''(x) = 12x²+12x
Het toegelaten gebied is -1<=x<=1.

We maken een tekenoverzicht van f'
1
2
getallenlijn ------------- -2 ------ 0 ------ 1/2 ------
teken f'(x)   irrelevant    0   +    0    -   0     +

Je ziet dat alleen x=0 en x=1 potentiele maxima opleveren. Het minimum ligt bij x=-1 of x=1/2. Randen van cirkels hebben hier verder niks mee te maken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39216847
Dat hij voor zowel x =.... als y=... moet werken ben ik helemaal met je eens. Dat is ook logisch. Dat je over de rand loopt als je x in y uitdrukt klopt inderdaad ook.

Wat ik zeg is dat x=-0.5 bij voorbaata al nóóit een goed antwoord kan zijn voor het minimum. Het enige kritieke punt ligt op 0,0. Als je voor x=0.5 neemt dan is x^2+y^2 automatisch kleiner dan 1, en dat punt is daarmee, voor welke y ook, nooit een randpunt. Aangezien daarvoor al vastgesteld was dat er binnen de grenzen maar één kritiek punt was, (0,0) zal het punt altijd op (+/-1,+/-0) of (+/-0,+/-1) liggen. Jouw methode laat verder wel duidelijk zien waarom.
  zondag 25 juni 2006 @ 19:52:56 #119
75592 GlowMouse
l'état, c'est moi
pi_39217685
quote:
Wat ik zeg is dat x=-0.5 bij voorbaata al nóóit een goed antwoord kan zijn voor het minimum. Het enige kritieke punt ligt op 0,0. Als je voor x=0.5 neemt dan is x^2+y^2 automatisch kleiner dan 1, en dat punt is daarmee, voor welke y ook, nooit een randpunt.
Wat bedoel je daarmee? Door y=wortel(1-x²) te substitueren, levert elke x in [-1,1] een mogelijke oplossing waarvoor geldt x²+y²=1. Ook x=0,5 (namelijk y=wortel(0,75) of y=-wortel(0,75)).

[ Bericht 8% gewijzigd door GlowMouse op 25-06-2006 20:51:18 (quote weggehaald, verkeerd geïnterpreteerd) ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39220665
quote:
Op zondag 25 juni 2006 19:52 schreef GlowMouse het volgende:

[..]

Wat bedoel je daarmee? Door y=wortel(1-x²) te substitueren, levert elke x in [-1,1] een mogelijke oplossing waarvoor geldt x²+y²=1. Ook x=0,5 (namelijk y=wortel(0,75) of y=-wortel(0,75)).
Je hebt gelijk, ik loop vandaag echt te falen. Afgelopen week ging het allemaal knetter soepel, en vandaag is het één grote ramp. Denk dat ik met m'n hoofd er niet bij ben.
pi_39244125
quote:
Op vrijdag 23 juni 2006 10:11 schreef Iblis het volgende:

[..]

Hij bedoelt waarschijnlijk dat de array met waardes ook static zal moeten zijn.

Wat precies het verschil is, is zeker voor beginnende programmeurs niet zo van belang. Het nadeel van Java is dat het snel veel overhead aan verplichte syntax oplevert waarvan de betekenis pas later duidelijk wordt.

Ik wil het echter wel een beetje proberen uit te leggen. Normaliter kun je een class zien als een soort blauwdruk voor een object. Classes zijn de bouwtekeningen, objecten zijn de daadwerkelijke constructies die worden geproduceerd als de bouwtekening wordt gevolgd. Dus, stel je hebt een Class Fiets, met een methode 'Schakel(int versnelling)', dan is dat alleen maar een manier waarop je Java zegt: Indien iemand een object van het type fiets wil hebben, dan moet je zorgen dat er ook een methode Schakel bij hoort, en je moet eventuele ruimte voor variabelen in die class reserveren:
[ code verwijderd ]

Zo'n object maak je meestal aan met 'new', er staat dan ergens in je code waar je zo'n fiets-object nodig hebt: Fiets f = new Fiets(); (Dan krijg je ook te maken met een zogenaamde constructor, die meehelpt het object te construeren.) Pas zodra dat gedaan is kun je f.schakel() aanroepen. Methodes kunnen in beginsel dus alléén worden aangeroepen als ze bij een object horen.

En dat is de truuk waar static methoden in het spel komen. Die bestaan eigenlijk altijd, ook al is er nog geen object aangemaakt. (Voor simpelere programma's versimpelt dat het programmeren wat, want je hoeft geen objecten in het leven te roepen.) Hét klassieke voorbeeld van een statische methode is de methode 'main' – immers er zal een methode moeten zijn waarin eventuele objecten worden aangemaakt die het gehele programma op gang brengen, als het programma start bestaan er nog geen objecten namelijk.

Echter, als zo'n static method wordt aangeroepen dan hoort deze niet bij een object, dus als deze andere methodes of variabelen van die class wil gebruiken (instantievariabelen worden ze genoemd), dan moeten die ook static zijn, want anders kun je niet garanderen dat die bestaan. Een method die bij een object hoort werkt namelijk normaal gesproken op de variabelen in dat object. Als het voorbeeld fiets hebt: met die class of blauwdruk kun je nog een fiets maken. Fiets g = new Fiets(). Als je met die fiets schakelt is het logisch dat de versnellingen van fiets 'f' niet veranderen.

Soms kun je trouwens wel met twee dezelfde namen naar hetzelfde object verwijzen. Als je zegt: Fiets h (d.w.z. h is een variabele die een fiets aanduidt) en je doet Fiets h = f, dan zijn h en f benamingen voor hetzelfde ding. Alles wat aan 'h' verandert verandert dan ook aan 'f'.
Ok, dit zijn wel mooie dingen om te weten, want zulke informatie haal ik niet vaak uit boeken ofzo

Nu ben ik bezig geweest met de extensie, dat er moet worden afgedrukt welke dief welke artikelen krijgt,

-bij de eerste de beste combinatie
-bij alle combinaties.

Nou denk ik zelf dat je hiervoor een extra variabele voor moet invoeren, of 2 arrays: artikelenA en artikelenB. Deze moeten dan worden aangevuld bij de 2 functieaanroepen in de methode zelf. Je kunt dan voor verschillende vormen kiezen; ik heb gekozen voor het idee dat als de dief een artikel niet krijgt, de plaats op dat array op 0 wordt gezet. Dat kan vast netter, maar eerst even het idee
Dan natuurlijk het tellen: Bij de eerste if moet nog een andere conditie staan, namelijk dat er 2^(waarde.length) keer moet worden gecheckt. Hier kan dan eventueel, zoals Wolfje ook al opmerkte, een stopconditie in als de verdeling kansloos wordt. Dat tellen kan dan denk ik met een for lus om de methode heen. En dan nog een printstatement om die arrays af te drukken. Ben ik hiermee een beetje in de goede richting?


static boolean verdeelbaar(){
return verdeelbaar(0,0,0);
}

static boolean verdeelbaar(int i, int buitA, int buitB) {

for(int j = 1; j <= 2^(waarde.length); j++) {

if ( i >= waarde.length ) {

return buitA==buitB;

} else {
if(verdeelbaar( i+1, buitA+waarde[i], buitB)
return true;
artikelenA[i]=i;
artikelenB[i]=0;

} else {
return verdeelbaar ( i+1, buitA, buitB+waarde[i]);
artikelenA[i]=0;
artikelenB[i]=i;
}

}

}
  maandag 26 juni 2006 @ 12:27:06 #122
75592 GlowMouse
l'état, c'est moi
pi_39244835
De for-loop volgt niets extra's toe. Je wilt uiteindelijk wel 2^waarde.length dingen checken, maar dat moet komen door recursie, niet door loopen. Met jouw loop doe je bovendien heel vaak hetzelfde, en levert het geen nieuwe antwoorden op.
Hieronder heb ik een nieuwe functie geschreven. Het is eenvoudig in te zien dat hier alle mogelijkheden nagelopen worden. Of iets verdeelbaar is of niet wordt pas op het laatste moment gecheckt, maar is verder niet van belang omdat er geen keuzes op gebaseerd worden, vandaar overal return true;

1
2
3
4
5
6
7
8
9
10
11
static boolean verdeelbaar_mogelijkheden(int i, int buitA, int buitB, array artikelenA[], array artikelenB[]) {
if ( i >= waarde.length ) {
  if(buitA == buitB) {
    // geldige mogelijkheid, zorg dat je hier artikelenA en artikelenB laat zien
  }
  return true;
} else {
  verdeelbaar_mogelijkheden( i+1, buitA+waarde[i], buitB, artikelenA[] met toegevoegd waarde[i], artikelenB[] );
  verdeelbaar_mogelijkheden( i+1, buitA, buitB+waarde[i], artikelenA[], artikelenB[] met toegevoegd waarde[i]);
  return true;
}
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39260276
Euj....ja, idd, die for-loop heeft zo geen zin. Wat je nu doet is dezelfde soort methode gebruiken, alleen geef je nu als extra parameters artikelenA[] en artikelenB[] mee. En je voegt in regel 8 en 9 het bepaalde artikel aan artikelenA[] of aan artikelenB[] ? Hoe kun je dat concreet doen? Waarom probeer je zoiets in de functieaanroep te doen, en niet in de if'jes waar die methode aanroep in staan?
  maandag 26 juni 2006 @ 20:28:30 #124
75592 GlowMouse
l'état, c'est moi
pi_39262590
De ifjes zijn niet meer van belang, omdat het voor de flow van je programma niet meer uitmaakt of een bepaalde verdeling juist is.
Hoe je dit concreet doet weet ik niet, zo goed ken ik Java niet. De reden dat ik het in de functieaanroep doe, is om duidelijk te maken dat artikelenA[] zelf niet aangepast mag worden (ivm de tweede functieaanroep). Om dit concreet te maken gebiedt de overzichtelijkheid eerst een nieuwe array met daarin de extra waarde te maken, en die als parameter mee te geven.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39263836
quote:
Op maandag 26 juni 2006 12:07 schreef Haushofer het volgende:

[..]

Ok, dit zijn wel mooie dingen om te weten, want zulke informatie haal ik niet vaak uit boeken ofzo

Nu ben ik bezig geweest met de extensie, dat er moet worden afgedrukt welke dief welke artikelen krijgt,

-bij de eerste de beste combinatie
-bij alle combinaties.
Over welke combinaties heb je het nu? Een gelijke verdeling of zijn bij alle combinaties ook ongelijke verdelingen toegestaan?
quote:
Nou denk ik zelf dat je hiervoor een extra variabele voor moet invoeren, of 2 arrays: artikelenA en artikelenB. Deze moeten dan worden aangevuld bij de 2 functieaanroepen in de methode zelf. Je kunt dan voor verschillende vormen kiezen; ik heb gekozen voor het idee dat als de dief een artikel niet krijgt, de plaats op dat array op 0 wordt gezet. Dat kan vast netter, maar eerst even het idee
Dan natuurlijk het tellen: Bij de eerste if moet nog een andere conditie staan, namelijk dat er 2^(waarde.length) keer moet worden gecheckt. Hier kan dan eventueel, zoals Wolfje ook al opmerkte, een stopconditie in als de verdeling kansloos wordt. Dat tellen kan dan denk ik met een for lus om de methode heen. En dan nog een printstatement om die arrays af te drukken. Ben ik hiermee een beetje in de goede richting?
Je kunt beter een array vullen met 0 (gebruiker A) en 1 (gebruiker B). Zodra je een oplossing hebt gevonden kun je dit dan makkelijk omzetten in de gewenste vorm.
Dat if lusje in je recursieve methode is ook niet echt nodig zoals al uitgelegd. Bovendien is 2^waarde.length niet wat jij denkt dat het is . In java staat ^ voor de (bitsgewijze) XOR functie. Daar kun je ook heel leuke dingen mee doen, maar niet machtsverheffen.

Ik zou het als volgt doen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public boolean verdeelbaar() {
    int[] verdeling = new int[waarde.length];
    return verdeelbaar(0,0,0,verdeling);
}

public boolean verdeelbaar( int i, int buitA, int buitB,int[] verdeling ) {
    if ( i == waarde.length ) { 
        if ( buitA == buitB ) {
            // doe hier iets met verdeling (printen, opslaan in lijst)
            return true;
        } else { return false; }
    }
    verdeling[ i ] = 0;
    if ( verdeelbaar( i+1, buitA+waarde[i],buitB,verdeling ) { return true; }
    verdeling[ i ] = 1;
    if ( verdeelbaar(i+1, buitA, buitB+waarde[i],verdeling ) { return true; }
    return false;
}
  maandag 26 juni 2006 @ 22:09:03 #126
75592 GlowMouse
l'état, c'est moi
pi_39266358
Met wolfjes methode krijg je één oplossing. Door wat syntax te spieken hier de code om alle mogelijkheden te krijgen. Daarnaast heb ik alle returns weggehaald omdat ze overbodig waren. Door te kiezen voor 'void' ipv 'boolean' hoeft de functie ook niks te retourneren.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void verdeelbaar_mogelijkheden() {
    int[] verdeling = new int[waarde.length];
    verdeelbaar(0,0,0,verdeling);
}

static void verdeelbaar_mogelijkheden(int i, int buitA, int buitB, int[] verdeling) {
if ( i == waarde.length ) {
  if(buitA == buitB) {
    // geldige mogelijkheid, sla verdeling op of geef weer
  }
} else {
  verdeling[ i ] = 0;
  verdeelbaar_mogelijkheden( i+1, buitA+waarde[i], buitB, verdeling );
  verdeling[ i ] = 1;
  verdeelbaar_mogelijkheden( i+1, buitA, buitB+waarde[i], verdeling);
}
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 27 juni 2006 @ 00:15:42 #127
120392 Coldplaya
Speed of sound
pi_39271314


Klikken om beter te zien

Mjn vraag was hoe je de reactiekrachten berekent in de steunpunten (A, B EN C)? En graag niet al te ingewikkeld. Dank u wel. Kan iemand btw wat toelichting geven op de rol van scharnieren in scharnierliggers.



PS: A en C zijn dus rolopleggingen, B niet. En excuses voor het provisorisch tekenen.
Fear and Loathing in Clarksville.
  dinsdag 27 juni 2006 @ 09:58:55 #128
118774 Enigmatic
Question everything?
pi_39276275
Ik zou hem doorsnijden is S, vervolgens aan de linkerkant met een momentenvergelijking reactiekracht A berekenen. Met behulp van een verticaal krachtenevenwicht kun je vervolgens bepalen wat de kracht moet zijn die rechts van het scharnier werkt. Dan een momentenvergelijking opstellen rondom punt B en je vindt Rc. En uit het verticale evenwicht volgt dan logischerwijs je reactiekracht in B.
pi_39278473
quote:
Op maandag 26 juni 2006 21:07 schreef Wolfje het volgende:

[..]

Over welke combinaties heb je het nu? Een gelijke verdeling of zijn bij alle combinaties ook ongelijke verdelingen toegestaan?
[..]
Ohwja, sorry, ik bedoelde dus alle goede combinaties waarin een eerlijke verdeling mogelijk is
quote:
Je kunt beter een array vullen met 0 (gebruiker A) en 1 (gebruiker B). Zodra je een oplossing hebt gevonden kun je dit dan makkelijk omzetten in de gewenste vorm.
Ok, da's wel handig inderdaad
quote:
Dat if lusje in je recursieve methode is ook niet echt nodig zoals al uitgelegd. Bovendien is 2^waarde.length niet wat jij denkt dat het is . In java staat ^ voor de (bitsgewijze) XOR functie. Daar kun je ook heel leuke dingen mee doen, maar niet machtsverheffen.
Ik weet het, je kunt de klasse Math gebruiken, die heeft geloof ik een methode pow ofzo, zodat je dan zou krijgen Math.pow(2, waarde.length ) of iets dergelijks. Je kunt natuurlijk ook een leuke recursieve methode schrijven om mee te machtsverheffen
quote:
Ik zou het als volgt doen.
[ code verwijderd ]
Ok, ontzettend bedankt, ik zal er even goed naar kijken
quote:
Op maandag 26 juni 2006 22:09 schreef GlowMouse het volgende:
Met wolfjes methode krijg je één oplossing. Door wat syntax te spieken hier de code om alle mogelijkheden te krijgen. Daarnaast heb ik alle returns weggehaald omdat ze overbodig waren. Door te kiezen voor 'void' ipv 'boolean' hoeft de functie ook niks te retourneren.
[ code verwijderd ]
Same here Nu nog even kijken hoe ik die verdeling leuk kan afdrukken
  dinsdag 27 juni 2006 @ 14:17:00 #130
120392 Coldplaya
Speed of sound
pi_39284128
quote:
Op dinsdag 27 juni 2006 09:58 schreef Enigmatic het volgende:
Ik zou hem doorsnijden is S, vervolgens aan de linkerkant met een momentenvergelijking reactiekracht A berekenen. Met behulp van een verticaal krachtenevenwicht kun je vervolgens bepalen wat de kracht moet zijn die rechts van het scharnier werkt. Dan een momentenvergelijking opstellen rondom punt B en je vindt Rc. En uit het verticale evenwicht volgt dan logischerwijs je reactiekracht in B.
Moet je dan niet eerst de kracht in het scharnierpunt weten?
Fear and Loathing in Clarksville.
  dinsdag 27 juni 2006 @ 18:47:32 #131
118774 Enigmatic
Question everything?
pi_39293264
quote:
Op dinsdag 27 juni 2006 14:17 schreef Coldplaya het volgende:

[..]

Moet je dan niet eerst de kracht in het scharnierpunt weten?
Nee, dat hoeft niet, want deze kracht draagt niet bij aan het moment om het scharnier.
pi_39370284
hee hee.. ik heb geen specifieke vragen . maar goed...
de vraag is: het vak algebra ( je weet wel ringen groepen, euuh.. etc.. ) ..
hoe kan je het best leren/begrijpen? en waar liggen de moeilijkheden om het te begrijpen?..
moet je veel lezen of meer oefenen? mmm wat is jullie ervaring ermee?

merci
verlegen :)
pi_39370560
quote:
Op donderdag 29 juni 2006 21:42 schreef teletubbies het volgende:
hee hee.. ik heb geen specifieke vragen . maar goed...
de vraag is: het vak algebra ( je weet wel ringen groepen, euuh.. etc.. ) ..
hoe kan je het best leren/begrijpen? en waar liggen de moeilijkheden om het te begrijpen?..
moet je veel lezen of meer oefenen? mmm wat is jullie ervaring ermee?

merci
Oefenen, oefenen, oefenen. Dat is de enige manier waarop je inzicht krijgt in de abstracties.
pi_39421770
kort en krachtig..:) okey
verlegen :)
  zondag 2 juli 2006 @ 23:30:27 #135
75592 GlowMouse
l'état, c'est moi
pi_39461982
Ik ben bezig met wat lineaire algebra, en daarbij loop ik vast op twee bewijzen.

1) Bewijs dat de determinant van een positief definiete matrix A altijd positief is.
2) Bewijs dat de kleinste eigenwaarde van een hoofddeelmatrix van een symmetrische matrix A groter is dantenminste zo groot is als de kleinste eigenwaarde van A.

Bij 1 kan ik bedenken dat det(A) het product is van de eigenwaarden, en dat de som van eigenwaarden positief moet zijn (omdat het spoor van een pd-matrix positief is). Maar hiermee ben ik er nog niet, want met eigenwaarden -1 en 5 is de som positief, maar de determinant niet.
Bij 2 heb ik als hint om te kijken naar A-λI. Maar met de determinant hiervan kom ik ook niet verder als ik de laatste rij/kolom weghaal. Omdat hoofddeelmatrices van een pd-matrix ook pd zijn, is het voldoende te bewijzen als alleen de laatste rij/kolom weggaan, de rest volgt uit inductie.

edit: 1 is inmiddels bewezen met de stelling dat de eigenwaarden van een pd-matrix allemaal positief zijn. Het product is daarmee ook positief.

[ Bericht 4% gewijzigd door GlowMouse op 03-07-2006 13:38:40 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39470530
Volgens mij kun je hier wel handig de vertaalslag symmetrische matrices <-> symmetrische bilineaire vormen gebruiken. Als A een nxn symmetrische matrix is en V=R^n, dan kun je A zien als een symmetrische bilineaire afbeelding VxV->R, gegeven door A(x,y) := <x,Ay> waarbij <,> het standaardinproduct is. Er geldt dan dat lambda de kleinste eigenwaarde is dan en slechts dan als voor alle x in V de ongelijkheid A(x,x) >= lambda<x,x> geldt.
  maandag 3 juli 2006 @ 14:08:35 #137
75592 GlowMouse
l'état, c'est moi
pi_39473615
Zij A een symmetrische positief definiete nxn matrix. Neem B de (n-1)x(n-1) matrix verkregen door verwijdering van de laatste rij en kolom van A.
Zij y in IRn-1, neem x de vector [y 0]
B(y,y) = A(x,x) >= λ<x,x>. Dus de kleinste eigenwaarde van B is tenminste zo groot als λ
quote:
Er geldt dan dat lambda de kleinste eigenwaarde is dan en slechts dan als voor alle x in V de ongelijkheid A(x,x) >= lambda<x,x> geldt.
Symmetrische bilineaire vormen zie ik vandaag voor het eerst en misschien zie ik wat over het hoofd, maar klopt deze bewering wel? Voor iedere symmetrische pd-matrix geldt per definitie dat A(x,x)>0, zodat de ongelijkheid bij λ=-1 altijd zal gelden. Toch kan -1 geen kleinste eigenwaarde zijn, omdat de eigenwaarde van een pd-matrix altijd positief is. Voor het bewijs van deze stelling is dit echter irrelevant.

[ Bericht 3% gewijzigd door GlowMouse op 04-07-2006 00:22:18 (typo) ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39474046
Ja, ik bedoelde natuurlijk lambda <= de kleinste eigenwaarde desda A(x,x) >= lambda<x,x> voor alle x. Dat het lemma'tje geldt kun je inzien door te gebruiken dat een symmetrische matrix altijd diagonaliseerbaar is met behulp van een orthogonale matrix.
  maandag 3 juli 2006 @ 16:05:04 #139
75592 GlowMouse
l'état, c'est moi
pi_39477138
quote:
Dat het lemma'tje geldt kun je inzien door te gebruiken dat een symmetrische matrix altijd diagonaliseerbaar is met behulp van een orthogonale matrix.
Toch even een poging wagen, omdat daar nu de essentie van het bewijs zit. Stel A is een symmetrische nxn matrix, dan geldt A=PDP-1 waarbij de kolommen van P orthogonaal zijn, en D een diagonaalmatrix is. Hieruit volgt dat A en D similar zijn, en dus hetzelfde karakteristiek polynoom hebben, en dus dezelfde eigenwaarden hebben.
D(x,x) is per definitie gelijk aan d1,1*x12+d2,2*x22+...+dn,n*xn2 Omdat de eigenwaarden op de diagonaal staan, moet wel gelden dat
D(x,x) >= λ<x,x>, met λ de kleinste eigenwaarde.
Achteraf niet zo'n heel lastig bewijs. Bedankt voor de hulp. Mocht ik er nog achterkomen hoe het met A-λI kan, zal ik het nog wel even posten.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39477344
quote:
Op maandag 3 juli 2006 16:05 schreef GlowMouse het volgende:

[..]

Toch even een poging wagen, omdat daar nu de essentie van het bewijs zit. Stel A is een symmetrische nxn matrix, dan geldt A=PDP-1 waarbij de kolommen van P orthogonaal zijn, en D een diagonaalmatrix is. Hieruit volgt dat A en D similar zijn, en dus hetzelfde karakteristiek polynoom hebben, en dus dezelfde eigenwaarden hebben.
D(x,x) is per definitie gelijk aan d1,1*x12+d2,2*x22+...+dn,n*xn2 Omdat de eigenwaarden op de diagonaal staan, moet wel gelden dat
D(x,x) >= λ<x,x>, met λ de kleinste eigenwaarde.
Achteraf niet zo'n heel lastig bewijs. Bedankt voor de hulp. Mocht ik er nog achterkomen hoe het met A-λI kan, zal ik het nog wel even posten.
Zie je ook waar je in het bewijs gebruik maakt van de orthogonaliteit van P?
  maandag 3 juli 2006 @ 16:27:44 #141
75592 GlowMouse
l'état, c'est moi
pi_39477835
quote:
Zie je ook waar je in het bewijs gebruik maakt van de orthogonaliteit van P?
Ik gebruik alleen dat hij inverteerbaar is, maar dat zit eigenljik al in de stelling dat 'als een nxn matrix A symmetrisch is, dan is A orthogonaal diagonaliseerbaar'.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39478263
quote:
Op maandag 3 juli 2006 16:27 schreef GlowMouse het volgende:

[..]

Ik gebruik alleen dat hij inverteerbaar is, maar dat zit eigenljik al in de stelling dat 'als een nxn matrix A symmetrisch is, dan is A orthogonaal diagonaliseerbaar'.
Je bewijs gebruikt het wel degelijk. Je gebruikt namelijk dat als D(x,x) >= lambda<x,x> voor alle x, dat dat dan ook voor A geldt. Dit volgt uit de twee identiteiten D(x,x) = A(Px,Px) en <Px,Px> = <x,x> en om die aan te tonen heb je nodig dat P orthogonaal is.
  maandag 3 juli 2006 @ 17:39:51 #143
75592 GlowMouse
l'état, c'est moi
pi_39479563
Dat stuk ontbrak zelfs nog in mijn bewijs, en daar had ik ook niet aan gedacht. daarvoor moet P zelfs orthonormaal zijn, maar dat is geen probleem. In ieder geval weer bedankt
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39479726
quote:
Op maandag 3 juli 2006 17:39 schreef GlowMouse het volgende:
Dat stuk ontbrak zelfs nog in mijn bewijs, en daar had ik ook niet aan gedacht. daarvoor moet P zelfs orthonormaal zijn, maar dat is geen probleem. In ieder geval weer bedankt
De terminologie is inderdaad wat verwarrend: P orthogonaal betekent dat de kolomvectoren (equivalent: de rijvectoren) een orthonormale basis vormen.
pi_39486688
een vraagje.. mmm
veel programmeertalen kunnen randomgetallen genereren mbv van bepaalde algoritmes....
maar hoe willekeurig zijn die randomgetallen? hoe kan je ze eigenlijk maken?
verlegen :)
  maandag 3 juli 2006 @ 21:55:59 #146
147503 Iblis
aequat omnis cinis
pi_39487405
quote:
Op maandag 3 juli 2006 21:35 schreef teletubbies het volgende:
een vraagje.. mmm
veel programmeertalen kunnen randomgetallen genereren mbv van bepaalde algoritmes....
maar hoe willekeurig zijn die randomgetallen? hoe kan je ze eigenlijk maken?
Dat is moeilijk te zeggen. Er zijn tests voor 'randomness'. Je wilt b.v. dat er geen correlatie in zit. B.v. tussen de verschillen van de getallen, of herhalingen, je moet niet aan de hand van eerder gegenereerde getallen kunnen voorspellen wat het volgende getal wordt.

Een flauw voorbeeld is b.v. Pi. 3,1415962653... Als je ergens midden in Pi begint (wat iemand niet zo herkent), dan is die reeks random. Maar, wel regenereerbaar. En dat is een makke van veel random reeksen. Als je de generator niet 'seedt', dan geeft het altijd dezelfde reeks (maar soms ook wel makkelijk!). En ook seeden met hetzelfde getal geeft dezelfde 'random' reeks.

Alhoewel praktisch voelt het natuurlijk niet echt als willekeurig als je zo'n reeks na believen kunt regeneren, zulke generatoren worden dan ook 'pseudo-random' genoemt. Deels omdat ze voorspelbaar zijn mits je het algoritme weet (zonder dat is het wel heel lastig en statistisch gezien kunnen die reeksen heel goed willekeurig lijken), maar ook omdat, aangezien het bereik van getallen slechts eindig is, zo'n randomgenerator altijd weer in een toestand moet komen waar hij al inzat, en dan gaat het op dezelfde wijze verder.

Algoritmes staan op Wikipedia. Het bekendste is denk ik echter Von Neumanns methode, waarbij je gegeven een getal de middelste cijfers neemt, dat kwadrateert, en dan weer een random getal hebt. Dus stel dat 01234321 je eerste random getal is, dan kwadrateer je daarna 2343 en krijg je 05489649 als getal, en 4896 als volgende seed. Merk op dat 0000 nogal snel in rondjes loopt.

Gebaseerd op hardware en user-input zijn er betere generatoren te maken. Die gebruiken b.v. metingen over het netwerkverkeer, of de muisbewegingen van de gebruiker, of fluctuaties in je CPU-temperatuur als inputbron van randomness.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_39489296
Ik zit hier met een probleem waar ik niet uit kom

Lineaire basis vergelijking:

x = c(onstante)

Exponentiele basisvergelijking:

grondtalexp1 = grondtalexp2

exp1 = exp2 => x = c en eventueel x = d

Dit begrijp ik dus al niet

Dan hier 2 voorbeelden:

2x = 23.x+2 => x = 3 . x + 2 => x – 3 . x = 2 => -2 . x = 2 => x = -1
2x2 = 23.x-2 => x2 => 3 . x - 2 => x2 - 3 . x + 2 = 0 => x = 1 & x = 2

En dit begrijp ik al helemaal niet
"Nada es acaso más difícil para el hombre que el vivir con la plena conciencia de ser hombre."
- Michele Sciacca
pi_39489603
quote:
Op maandag 3 juli 2006 22:43 schreef flyin-hawk het volgende:


2x = 23.x+2 => x = 3 . x + 2 => x – 3 . x = 2 => -2 . x = 2 => x = -1
2x2 = 23.x-2 => x2 => 3 . x - 2 => x2 - 3 . x + 2 = 0 => x = 1 & x = 2
Als beide kanten van het =teken aan elkaar gelijk moeten zijn, dan moeten de machten ook hetzelfde zijn, aangezien de grondtallen gelijk zijn.
2x = 23.x+2
betekent dus dat de machten x en 3x+2 gelijk moeten zijn.
Anders komt er nooit aan beide kanten hetzelfde getal uit.
Dit volgt uit een rekenregel uit je boek a[sup]p=a[sub]qdan p=q

x = 3x + 2 is een lineaire vergelijking die je op zou moeten kunnen lossen vermoed ik.
beide kanten -3x doen.
krijg je -2x = 2
delen door -1
levert op x = -1

Die 2e is hetzelfde, alleen is het niet lineair maar kwadratisch. Dat kan dus 2 oplossingen opleveren.
Snap je het oplossen van een kwadratische vergelijking?
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
  maandag 3 juli 2006 @ 22:55:53 #149
147503 Iblis
aequat omnis cinis
pi_39489817
quote:
Op maandag 3 juli 2006 22:43 schreef flyin-hawk het volgende:
Ik zit hier met een probleem waar ik niet uit kom

Lineaire basis vergelijking:

x = c(onstante)

Exponentiele basisvergelijking:

grondtalexp1 = grondtalexp2

exp1 = exp2 => x = c en eventueel x = d

Dit begrijp ik dus al niet

Dan hier 2 voorbeelden:

2x = 23.x+2 => x = 3 . x + 2 => x – 3 . x = 2 => -2 . x = 2 => x = -1
2x2 = 23.x-2 => x2 => 3 . x - 2 => x2 - 3 . x + 2 = 0 => x = 1 & x = 2

En dit begrijp ik al helemaal niet
Ik snap niet helemaal wat het probleem is. Maar ik probeer gewoon 2x = 23.x+2 uit te leggen, misschien dat je het dan ziet.

2x wil zeggen, 2*2*2*...*2 en dat dan x keer. 23x+2 wil zeggen: 2*2*2*...*2 en dat dan precies 3x + 2 keer. Wanneer is die eerste 2*2*2*...*2 gelijk aan die tweede 2*2*2*...*2? Als er precies evenveel keren '2' als factor staat. Immers, een ongelijk aantal betekent dat het nooit gelijk kan zijn.

Het aantal keren '2' wordt gegeven door de exponenten, dus daarom moeten – als de grondtallen gelijk zijn – de exponenten ook gelijk zijn om de gelijkheid te laten kloppen.

Derhalve moet je dus oplossen: x = 3x+2. Want als dat geldt zijn de exponenten gelijk, en dus automatisch de gehele vergelijking omdat je al weet dat de grondtallen gelijk zijn. Dat gaat gewoon volgens het traditionele vergelijkingen oplossen. x = 3x + 2 geeft dan inderdaad x = -1. Als je dat dan invult zie je dat je inderdaad krijgt:
2x = 2-1 aan de linkerkant, en 23x+2 = 2-3+2 = 2-1 aan de rechterkant, dus: 2-1 = 2-1. En dat klopt als een zwerende vinger.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_39489916
Jean Meslier
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')