Breuken - Wiskunde - vereenvoudigen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 volgende »

Jasper DS

Jasper DS

24/01/2011 17:11:34
Quote Anchor link
Ik heb mijn theorie van wisk. omgezet in een scriptje.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
$a
= 3;
$b = -5;
$c = 1;

$D = pow($b, 2)-4*$a*$c;

echo '$D is '.$D;

switch ($D)
{
    case
0;
    $x = -$b/(2*$a);
    break;
    
    case (
$D < 0);
    $x = 'geen oplossing';
    break;
    
    case (
$D > 0 );
    $x  = (-$b+sqrt($D))/(2*$a);
    $x .=  ' of -'.$x;
    break;
}


echo '<br/>';
echo '<br/>';
echo '$x is '.$x;
?>


Wat is nu het probleem? De bewerking word volledig uitgewerkt. Is er een mogelijkheid om de breuken maximaal te vereenvoudigen (en niet volledig uit te werken) of kan dit gewoon niet.

(De antwoorden zijn altijd anders naar gelang welke getallen je invoert!)

uitkomst van het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$D is 13

$x is 1.4342585459107 of -1.4342585459107


Wat zou het moeten zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$D is 13

$x is 5+13/6  of -5+13/6


Is dit mogelijk? Zo ja: Hoe? Zo nee: is dit mogelijk in een andere taal?
 
PHP hulp

PHP hulp

22/12/2024 09:38:56
 
- SanThe -

- SanThe -

24/01/2011 17:18:57
Quote Anchor link
Je moet het niet volledig uitrekenen.
 
Jasper DS

Jasper DS

24/01/2011 17:21:20
Quote Anchor link
Neen, dit zijn oefeningen zonder rekenmachine, gewoon de formule toepassen en zo ver mogelijk vereenvoudigen. 8/4 wordt dus 2 maar 3/2 blijft gewoon 3/2
 
Kris Peeters

Kris Peeters

24/01/2011 17:23:46
Quote Anchor link
(Edit, ik krijg die vierkantswortel symbolen niet in orde...)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$x is 5+?13/6  of -5+?13/6


Bedoel je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$x is 5+?13/6  of 5-?13/6

?
Gewijzigd op 24/01/2011 17:25:54 door Kris Peeters
 
Jasper DS

Jasper DS

24/01/2011 17:24:30
Quote Anchor link
ik zou natuurlijk ook bij elke stap kunnen gaan kijken of het een geheel getal vormt maar dat is wat te veel werk niet?

@ Kris, bij dit voorbeeld zijn er net 2 oplossingen "5+?13/6" en het tegengestelde "-5+?13/6"

Dit dient voor 2de graads vergelijkingen op te lossen

Dus $D is de dividend (of zo iets) discriminant en dan moet je de regeltjes volgen (switch)
Gewijzigd op 24/01/2011 18:14:19 door Jasper DS
 
Kris Peeters

Kris Peeters

24/01/2011 17:30:18
Quote Anchor link
ax² + bx + c = 0

x1,2 = (b² + vierkantswortel(4ac)) / 2a of (b² - vierkantswortel(4ac)) / 2a
Gewijzigd op 24/01/2011 17:31:45 door Kris Peeters
 
Jasper DS

Jasper DS

24/01/2011 17:32:01
Quote Anchor link
ja, wat is 1,2 bij x?

edit: ik denk dat wat je schrijft niet helemaal correct is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
standaardvorm: ax+bx+c=0     (met a niet gelijk aan 0)

D = b-4ac

D<0    oplossing bestaat niet
D=0    1 oplossing
D>0    2 oplossingen
Gewijzigd op 24/01/2011 17:36:33 door Jasper DS
 
Kris Peeters

Kris Peeters

24/01/2011 17:33:45
Quote Anchor link
Een notatie voor oplossing 1 en oplossing 2.
Formules schrijven in tekst is uiteraard wat lastig. Op papier geeft dat beter.
 
Jasper DS

Jasper DS

24/01/2011 17:37:00
Quote Anchor link
check mijn edit.

(even eten)
 
Pim -

Pim -

24/01/2011 17:38:33
Quote Anchor link
PHP kent slechts cijfers, geen samenstellingen.

Als je daar omheen wil werken, ben je wel even bezig...

Je kan bijvoorbeeld een object maken, dat samengesteld cijfers kan dragen en zichzelf kan vereenvouigen. Dan moet je nog regels maken om die samenstellingen met elkaar te delen/vermenigvuldigen/af te trekken etc. lastig hoor.

Als je je beperkt tot gehele getallen als a, b en c, is het niet zo moeilijk.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

function abc($a, $b, $c) {
    $d2 = pow($b, 2) - 4 * $a * $b;

    if($d2 < 0)
        return 'Kan niet';

    if($d2 == 0)
        return 'x = '.implode('/', vereenvoudigBreuk(-$b, 2*$a));

    if(is_int(sqrt($d2)) {
        $x1boven = -$b + sqrt($d2);
        $x1 = implode('/', vereenvoudigBreuk($x1boven, 2*$a));

        $x2boven = -$b - sqrt($d2);
        $x2 = implode('/', vereenvoudigBreuk($x2boven, 2*$a));
    }
else {
        $x1 = '('.-$b.'+'.vereenvoudigWortel($d2).')/'.2*$a;
        $x1 = '('.-$b.'-'.vereenvoudigWortel($d2).')/'.2*$a;
    }

    return 'x = '.$x1.' V x = '.$x2;
}

function
vereenvoudigBreuk($a, $b) {
    $positief = $a*$b >= 0;
    $a = abs($a);
    $b = abs($b);
    for($i = min(array($a, $b)); $i > 1; --$i)
        if(is_int($a/$i) && is_int($b/$i)) {
            $a /= $i;
            $b /= $i;
        }

    if(!$positief)
        $a *= -1;
    return array($a, $b);
}

function
vereenvoudigWortel($n) {
    $a = 1;
    for($i = floor(sqrt($n)); $i > 1; --$i)
        if(is_int($n / pow($i, 2)) {
            $a *= $i;
            $n /= pow($i, 2);
        }

    if($a != 1)
        return $a.'?'.$n;
    return '?'.$n;
}

?>

Volgens mij werkt t zo. Of die for-regels optimaal zijn, weet ik niet.
Gewijzigd op 24/01/2011 18:11:52 door Pim -
 
Ocirina Ocirina

Ocirina Ocirina

24/01/2011 17:45:59
Quote Anchor link
PHP Jasper op 24/01/2011 17:24:30:
ik zou natuurlijk ook bij elke stap kunnen gaan kijken of het een geheel getal vormt maar dat is wat te veel werk niet?

@ Kris, bij dit voorbeeld zijn er net 2 oplossingen "5+?13/6" en het tegengestelde "-5+?13/6"

Dit dient voor 2de graads vergelijkingen op te lossen

Dus $D is de dividend (of zo iets) en dan moet je de regeltjes volgen (switch)


Discriminant. Leuk script ik heb zo iets in me gr. Als het script klaar is kun je hem dan posten?
 
Jasper DS

Jasper DS

24/01/2011 18:14:56
Quote Anchor link
zal ik doen, eerst even naar het script van pim kijken
 
Yea Rupie

Yea Rupie

24/01/2011 18:52:30
Quote Anchor link
als x1=5 wil niet zeggen dat x2=-5

Ik heb eens een klein vb2008 scriptje gemaakt voor school die de abc formule gebruikt.
En deze geeft deze uitwerking:

y = x²+4x+3
a = 1 b = 4 c = 3
d = (4)² - 4 x 1 x 3 = 4
x = (-4 - ?4) / (2 x 1) V x = (-4 + ?4) / (2 x 1)
x = -3 V x = -1
Gewijzigd op 24/01/2011 18:57:07 door Yea Rupie
 
Jasper DS

Jasper DS

24/01/2011 19:19:42
Quote Anchor link
Heb je die code online?
 
Bas Cost Budde

Bas Cost Budde

24/01/2011 19:38:16
Quote Anchor link
De wortelformule is zo:
De oplossingen van een tweedegraadsvergelijking in x, gegeven door

ax^2 + bx + c = 0

zijn

x1 = (-b + sqrt(b^2 - 4*a*c)) / 2*a
x2 = (-b - sqrt(b^2 - 4*a*c)) / 2*a

Je zou objecten kunnen schrijven voor een breuk en een wortel, daarin de rekenregels implementeren, zodat je daarmee kunt vereenvoudigen. Leuk klusje, ook iets moois als practicumopdracht voor "beginners" in de OO, denk ik.
 
Jasper DS

Jasper DS

24/01/2011 19:40:04
Quote Anchor link
er zijn niet altijd 2 oplossingen soms is er geen oplossing, soms is er 1 oplossing en soms zijn er 2 oplossingen
 
Write Down

Write Down

24/01/2011 19:53:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function breuk($teller, $noemer) {
    while ($noemer != 0){
      $t = $teller % $noemer;
      $teller = $noemer;
      $noemer = $t;
    }

    return $teller;
}
?>


Ik vond dit hier nog ergens tussen mijn bestanden. Nja, is maar beperkt in mogelijkheden en vrij traag.
 

24/01/2011 20:04:37
Quote Anchor link
a: Wortels hoor je als wortels zo eenvoudig mogelijk op te schrijven.
b: Het is een opdracht die je zonder rekenmachine moet doen.

Conclusie: Doe het met de hand en verkloot je tijd niet aan deze onzin.


Edit: vind dit wel een koffiehoektopic.
Gewijzigd op 24/01/2011 20:05:06 door
 
Jasper DS

Jasper DS

24/01/2011 20:06:37
Quote Anchor link
Ik probeer wel meer school opdrachten om te zetten naar een scriptje, is altijd een mooie oefening voor mijn phpskils :p
 
Bas Cost Budde

Bas Cost Budde

24/01/2011 20:09:50
Quote Anchor link
PHP Jasper op 24/01/2011 19:40:04:
er zijn niet altijd 2 oplossingen soms is er geen oplossing, soms is er 1 oplossing en soms zijn er 2 oplossingen


Dat hangt dan weer van je kennis van de theorie af.

Een n-de graadsvergelijking heeft altijd n oplossingen. Soms vallen twee of meer van die oplossingen samen, soms zijn ze niet reeel.

In het geval van de tweedegraadsvergelijking kun je dat zien aan de discriminant. Is die positief, dan heb je twee reele oplossingen; is die nul, dan vallen de twee oplossingen samen; is hij negatief, dan zijn er twee complexe oplossingen.
 
Jasper DS

Jasper DS

24/01/2011 20:10:19
Quote Anchor link
ja dat klopt.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.