← Back to CoursesStemExpert
StemExpert
Expert · Oplossingen · 5. Vectoren en matrices
StemExpert · Brecht Corbeel · schoolium.me
StemExpert
E5. Vectoren en matrices — oplossingen
EExpert · deel E1 · Wiskundige gereedschapskist

Oplossingen · hoofdstuk 5Vectoren en matrices

Richtingen in de ruimte en veel vergelijkingen tegelijk: het rekenwerk achter krachten, netwerken en constructies

Uitgewerkte oplossingen bij de 18 opdrachten van het werkboek. Voor de leerkracht, en voor wie zichzelf wil verbeteren nadat hij het eerst zelf probeerde.

6× oefenen8× toepassen4× uitdagen± 460 min
Drie tuidraden, drie krachten in drie richtingen: samen duwen ze de mast recht naar beneden.
Drie tuidraden, drie krachten in drie richtingen: samen duwen ze de mast recht naar beneden.
Voor de leerkrachtDeze pagina bevat de antwoorden. Druk het werkboek af zonder deze pagina.
Oefenen

Oefenen

één stap, direct toepassen
5.1

Rekenen met vectoren

Oefenen6Rekenen15 min
Gegeven en .
  1. a
    Bereken en .
    ; .
  2. b
    Bereken , en de eenheidsvector .
    ; ; .
  3. c
    Bereken en de hoek tussen en .
    ; , (stomp).
  4. d
    Bereken de projectie van op (als getal en als vector).
    Als getal: (negatief: wijst een beetje tegen in). Als vector: .
5.2

Het vectorproduct

Oefenen6Rekenen15 min
Opnieuw en .
  1. a
    Bereken en controleer dat het loodrecht staat op en op .
    . en .
  2. b
    Controleer .
    Links: . Rechts: . Klopt (dat is de identiteit van Lagrange, opdracht 5.15).
  3. c
    Bereken de oppervlakte van de driehoek met hoekpunten , , .
    , lengte 10. De driehoek is de helft van het parallellogram: 5.
5.3

Matrices vermenigvuldigen

Oefenen6Rekenen15 min
en .
  1. a
    Welke afmetingen hebben AB en BA? Bereken beide.
    en . , . Niet eens van dezelfde grootte: .
  2. b
    Bereken en , en controleer met .
    . . Controle: .
5.4

Transformaties tekenen

Oefenen6Tekenen20 min
Pas op de driehoek vier matrices toe: , , , .
-4-3-2-11234567-11234
De driehoek met hoekpunten (1; 0), (3; 0) en (1; 2).
  1. a
    Bereken de beelden van de drie hoekpunten voor elke matrix en teken de vier beelddriehoeken in het rooster.
    : (0; 1), (0; 3), (−2; 1). : (2; 0), (6; 0), (2; 3). : (1; 0), (3; 0), (3; 2). : (−1; 0), (−3; 0), (−1; 2).-4-3-2-11234567-11234M₁M₂M₃M₄
  2. b
    Beschrijf elke transformatie in woorden.
    M₁: rotatie over 90° tegen de klok in. M₂: in x twee keer zo breed, in y anderhalve keer zo hoog. M₃: afschuiving (elk punt schuift evenwijdig met de x-as, evenredig met zijn hoogte). M₄: spiegeling in de y-as.
  3. c
    De oorspronkelijke driehoek heeft oppervlakte 2. Bereken met de determinant de oppervlakte van elk beeld. Wat betekent het teken?
    : 2. : 6. : 2 (afschuiven bewaart de oppervlakte). : 2, maar de driehoek is gespiegeld: de volgorde van de hoekpunten draait om (met de klok mee in plaats van tegen de klok in).
5.5

Het graanprobleem uit de Negen hoofdstukken

Oefenen6Rekenen20 min
Drie bundels graan van de beste soort, twee van de middelste en één van de slechtste leveren 39 dou; twee, drie en één leveren 34 dou; één, twee en drie leveren 26 dou (het eerste probleem van hoofdstuk 8 van de Jiuzhang suanshu).
  1. a
    Schrijf het stelsel als aangevulde matrix.
    met , , de opbrengst van één bundel van de beste, middelste en slechtste soort.
  2. b
    Los het op met de methode van Gauss, met de hand. Toon elke rijbewerking.
    : . : . : . Terug: ; ; .
  3. c
    Controleer je oplossing door ze in te vullen.
    , , dou. Invullen: , , . Klopt.
5.6

Hoeveel oplossingen?

Oefenen6Begrijpen15 min
(a) , , . (b) , , . (c) , , .
  1. a
    Welk stelsel heeft één oplossing, welk geen, welk oneindig veel? Toon het met Gauss.
    (a) Eén oplossing: (de eerste twee geven ; dan en ). (b) Geen: de eerste twee zeggen (rij ). (c) Oneindig veel: de derde is de som van de eerste twee (rij ); , : alle punten .
  2. b
    Geef voor elk stelsel de meetkundige betekenis (drie vlakken in de ruimte) en de waarde van de determinant.
    (a) Drie vlakken door één punt; . (b) Twee evenwijdige vlakken, dus geen gemeenschappelijk punt; . (c) Drie vlakken door dezelfde rechte (zoals de bladzijden van een boek); . Een determinant nul zegt dus 'niet precies één oplossing', maar niet welk van de twee andere gevallen.
Toepassen

Toepassen

meerdere stappen, in een context
5.7

Het kasdak openen

Toepassen7Rekenen20 min
Het schuifpaneel van de kasmodule (10 kg) schuift 0,60 m omhoog over rails onder 25° (hoofdstuk 7 en 8 van I). De riem trekt met 60 N.
  1. a
    Schrijf de verplaatsing en de zwaartekracht als vectoren ( horizontaal, omhoog) en bereken .
    m; N; .
  2. b
    Bereken de arbeid van de riem als hij evenwijdig met de rails trekt, en als hij onder 10° boven de rails trekt.
    Evenwijdig: , . Onder 10°: N, .
  3. c
    Waar gaat het verschil naartoe? Is een schuine riem slechter?
    De component loodrecht op de rails (60 sin 10° = 10,4 N) doet geen arbeid: ze duwt het paneel een beetje van de rails. Dat vermindert de normaalkracht en dus de wrijving, maar vraagt een riem die 1,5 % harder trekt voor dezelfde arbeid. Een kleine hoek kost weinig; een grote hoek kost veel kracht (en belast de geleiding).
5.8

De zon op het paneel door het jaar

Toepassen7Analyseren25 min
Het zonnepaneel van de module staat onder 60° op het zuiden, het jaaroptimum voor Brussel is 39° (hoofdstuk 6 van I). De zon staat om 12:00 zonnetijd in het zuiden op een hoogte h = 90° − 50,8° + δ, met δ = 0° op 21 maart, +23,44° op 21 juni en −23,44° op 21 december.
  1. a
    Schrijf en de normaal van een paneel onder een hoek op het zuiden als vectoren. Toon met het scalair product dat om 12:00 .
    , . .
  2. b
    Vul de tabel in voor β = 60° en β = 39°.
    Resultaat:
    datum (middag)zonnehoogteθ bij 60°cos θθ bij 39°cos θ
    21 maart39,2°9,2°0,98711,8°0,979
    21 juni62,6°32,6°0,84211,6°0,979
    21 december15,8°14,2°0,96935,2°0,817
  3. c
    Op 21 juni om 15:00 is . Bereken voor beide hellingen.
    60°: ; 39°: , .
  4. d
    Waarom koos hoofdstuk 6 van I toch 60°? Gebruik je tabel.
    Om 12:00 in de zomer vangt 39° meer (0,979 tegenover 0,842), in de winter 60° (0,969 tegenover 0,817). In de winter is de energie schaars (hoofdstuk 20 van I: tekort van november tot februari); in de zomer is er overschot. Het paneel is dus ontworpen voor de maand waarin elke kilowattuur telt.
5.9

Het dakraam van de meetkas

Toepassen7Rekenen20 min
Het dakraam van de meetkas (0,60 × 0,60 m, 1,2 kg) draait om een scharnier achteraan. De duwstang duwt verticaal omhoog op 0,12 m van het scharnier (hoofdstuk 12 van F). Neem het scharnier als oorsprong, x horizontaal naar voren, y omhoog.
  1. a
    Bereken met het moment van het gewicht om het scharnier als het raam dicht is, en als het 20° open staat.
    Dicht: , : . Open: , .
  2. b
    Hoe groot moet de verticale duwkracht in beide standen zijn? Vergelijk met de 29,5 N van hoofdstuk 12 van F.
    Dicht: , dus (hoofdstuk 12 van F vond 29,5 N, met het gewicht afgerond op 11,8 N). Open: , : , dus .
  3. c
    Waarom hangt die kracht niet af van de openingshoek? Zou dat zo blijven als de stang loodrecht op het raam duwt?
    Bij een verticale kracht is de arm de horizontale afstand: voor het gewicht , voor de stang . De factor valt weg. Duwt de stang loodrecht op het raam, dan blijft haar arm 0,12 m terwijl die van het gewicht krimpt: de kracht wordt kleiner naarmate het raam opengaat.
5.10

De brug van hoofdstuk 21 met twee knopen

Toepassen7Rekenen20 min
De brug van hoofdstuk 21 van I: R₁ = 1,0 kΩ, R₂ = 2,2 kΩ, R₃ = 1,5 kΩ, R₄ = 2,2 kΩ, R₅ = 1,0 kΩ op 10 V. T ligt op 10 V, B op 0 V.
10 VR₁ = 1,0 kΩR₂ = 2,2 kΩMR₃ = 1,5 kΩR₄ = 2,2 kΩNR₅ = 1,0 kΩTB (0 V)
De brug van opdracht 21.14 van Intermediate.
  1. a
    Stel de knooppuntvergelijkingen op voor M en N als (in mS, V en mA).
    , (de vaste 10 V van T gaat als stroombron naar rechts).
  2. b
    Los het stelsel met de hand op (Gauss of de inverse van een 2 × 2-matrix) en bereken de stroom door R₅.
    . , . Door R₅: van M naar N.
  3. c
    gauss.py loste dezelfde brug op met drie maasstromen. Waarom heeft de knooppuntenmethode hier minder onbekenden?
    De mazen tellen de vensters (3), de knopen de knopen min de referentie min de knopen met een vaste spanning (4 − 1 − 1 = 2). Welke methode kleiner is, hangt van het netwerk af; computers gebruiken bijna altijd knopen, omdat de matrix zo eenvoudig op te bouwen is.
5.11

De sensorkast op drie meter, als matrix

Toepassen7Rekenen25 min
De 5 V-rail van de klimaatmodule voedt de sensorkast boven het kweekbed: 3,0 m kabel met aders van 0,14 mm², 156 mA bij de piek (hoofdstuk 21 van I). Vanuit de sensorkast loopt 2,0 m dezelfde kabel verder naar een lichtsensor op het kasdak (25 mA). Rekenwaarde: de rail staat vast op 5,00 V; reken met de weerstand van plus- en minader samen.
  1. a
    Bereken de weerstand van beide kabelstukken en stel het stelsel G v = i op voor de sensorkast K en de lichtsensor L.
    , . , .
  2. b
    Los op. Welke spanning krijgen de sensoren?
    , . (Zonder matrix: door de eerste kabel loopt 181 mA, door de tweede 25 mA.)
  3. c
    Je trekt ook een kabel van 4,0 m rechtstreeks van de rail naar de lichtsensor (een ring). Stel het nieuwe stelsel op en los het op. Wat verandert er?
    Met de ring komt bij op de diagonaal van L en in het rechterlid. , : beide hoger, en L krijgt nu stroom langs twee kanten. De CO₂-sensor vraagt minstens 4,5 V: beide oplossingen volstaan, de ring met meer marge.
5.12

Gauss in Python, en waarom je rijen verwisselt

Toepassen7Programmeren30 min
Je schrijft zelf een functie gauss(A, b) en onderzoekt wat de rijverwisseling doet.
  1. a
    Schrijf gauss(A, b, spil=True) met eliminatie, rijverwisseling (als spil=True) en terug invullen. Test op het graanprobleem.
    Bijvoorbeeld:
    import numpy as np
    
    
    def gauss(A, b, spil=True):
        A, b = np.array(A, float), np.array(b, float)
        n = len(b)
        for k in range(n - 1):
            if spil:                                    # rijverwisseling: grootste element als spil
                p = k + np.argmax(abs(A[k:, k]))
                A[[k, p]], b[[k, p]] = A[[p, k]], b[[p, k]]
            for i in range(k + 1, n):
                m = A[i, k] / A[k, k]
                A[i, k:] -= m * A[k, k:]
                b[i] -= m * b[k]
        x = np.zeros(n)
        for i in range(n - 1, -1, -1):
            x[i] = (b[i] - A[i, i + 1:] @ x[i + 1:]) / A[i, i]
        return x
    
    
    print("rijstprobleem:", gauss([[3, 2, 1], [2, 3, 1], [1, 2, 3]], [39, 34, 26]))
    A, b = [[1e-17, 1.0], [1.0, 1.0]], [1.0, 2.0]
    print("zonder rijverwisseling:", gauss(A, b, spil=False))
    print("met rijverwisseling:   ", gauss(A, b))
  2. b
    Los op met en zonder rijverwisseling. De exacte oplossing is bijna . Wat gebeurt er?
    Echte uitvoer:
    rijstprobleem: [9.25 4.25 2.75]
    zonder rijverwisseling: [0. 1.]
    met rijverwisseling:    [1. 1.]
    Zonder rijverwisseling is x = 0 in plaats van 1: volledig fout. Met rijverwisseling klopt het.
  3. c
    Verklaar het resultaat met de afronding van een float (ongeveer 16 cijfers).
    Zonder verwisseling is de vermenigvuldiger . De tweede rij wordt en : in een float allebei , want 1 en 2 vallen weg tegenover . Dan is en : de kleine fout in wordt door gedeeld. Met verwisseling is de spil 1 en de vermenigvuldiger : niets gaat verloren.
5.13

Habitat: de voedingslijnen van de module toetsen

Toepassen7Habitat60 min
Gebruik netwerk.py uit het handboek (het 12,8 V-net van de klimaatmodule). Ontwerpregel: hoogstens 3 % spanningsval (0,38 V) in de kabel naar een verbruiker bij normaal bedrijf, ook als de ringkabel breekt. Standaarddoorsneden: 1,5 - 2,5 - 4 - 6 - 10 - 16 mm²; koper weegt 8,96 g/cm³.
  1. a
    Voeg een lastgeval toe: de dakmotor blokkeert (10 A). Wat is de spanning aan de motor en aan de rail?
    Last D = 10 A: , rail ; de val over de motorkabel is 0,83 V (6,4 %). De batterijen leveren samen 26,5 A.
  2. b
    Welke kabel moet dikker om de 3 %-regel te halen als de ring breekt? Kies de kleinste doorsnede die volstaat.
    Zonder ring valt er 0,391 V tot L2 (3,06 %): net te veel. Met 10 mm² voor de kabel V–L1 wordt dat 0,255 V (2,0 %): goed. (16 mm² geeft 0,179 V, niet nodig.) Voor de dakmotor volstaat 2,5 mm² bij normaal bedrijf (0,152 V); 4 mm² halveert bijna de val bij blokkeren (0,52 V).
  3. c
    Hoeveel koper (in gram) zit er nu in alle kabels samen, en hoeveel komt erbij met je keuze?
    Koper: per kabel (twee aders), samen 1446 g. De kabel V–L1 van 6 naar 10 mm²: extra.
  4. d
    Schrijf een advies van 5 à 8 regels voor het ontwerp van het net, met getallen.
    Bijvoorbeeld: 'De lampen blijven in een ring gevoed (grootste val 1,5 %). Kabel V–L1 wordt 10 mm², zodat ook bij een breuk van de ring de val onder 3 % blijft (2,0 %, 287 g koper extra). Pomp (1,5 mm²) en dakmotor (2,5 mm²) blijven; bij een blokkerende dakmotor valt de spanning aan de motor tot 12,1 V, en de zekering van 5 A traag moet de motor binnen enkele seconden afschakelen. De batterijen delen de last ongelijk (14,6 en 3,7 A) zolang hun laadtoestand verschilt; dat is normaal.'
Zo wordt dit beoordeeld
ModelLastgeval en kabelbreuk correct in het stelsel gezet (last D = 10 A; tak L2-V weggelaten).
ToetsSpanningsvallen per kabel berekend tegenover 0,38 V; de zwakke kabel gevonden.
KeuzeKleinste doorsnede die volstaat, met koperverbruik als afweging.
AdviesOnderbouwd met getallen; ring, dakmotor en zekering besproken.
5.14

Een wandconsole als stelsel

Toepassen7Rekenen25 min
Een console aan de wand draagt in B een omvormer van 20 kg (200 N als rekenwaarde). A en C zijn scharnieren aan de wand.
ABC200 N0,50 m0,40 m
Een console met een horizontale staaf AB en een schuine staaf CB; last 200 N in B.
  1. a
    Geef de eenheidsvectoren van B naar A en van B naar C. Stel het evenwicht van knoop B op als 2 × 2-stelsel en los op.
    , . Evenwicht in B: . Uit de -vergelijking: ; uit de -vergelijking: .
  2. b
    Welke staaf staat op trek, welke op druk? Controleer met het momentenevenwicht om C.
    AB trek (250 N), CB druk (320 N). Momenten om C: de last geeft , de trek in AB met arm 0,40 m: . Klopt.
  3. c
    Hoeveel vergelijkingen en onbekenden heeft het volledige vakwerk (met de reacties in A en C)? Is het statisch bepaald?
    3 knopen: 6 vergelijkingen. Onbekenden: 2 staafkrachten en 4 reacties (A en C elk twee). 6 = 6 en de matrix is niet singulier: statisch bepaald. Knoop B alleen volstaat voor de staafkrachten; A en C geven dan de reacties.
Uitdagen

Uitdagen

transfer, open problemen, leerlijnen combineren
5.15

Twee formules bewezen

Uitdagen8Analyseren30 min
Het handboek gebruikte twee verbanden tussen de componenten en de meetkunde van vectoren. Bewijs ze.
  1. a
    Bewijs met de cosinusregel. Leid daaruit de ongelijkheid van Cauchy-Schwarz af: .
    Driehoek met zijden , , : . Per component: . Vergelijk: . Omdat : .
  2. b
    Bewijs de identiteit van Lagrange door beide kanten in componenten uit te schrijven, en leid er uit af.
    Links: . Rechts: . Uitwerken: de termen enz. vallen rechts weg; wat overblijft, is , precies de som van de drie kwadraten links. Dan , en voor .
  3. c
    Toon dat .
    : elke term komt twee keer voor met een tegengesteld teken ( en , enz.). Som 0.
5.16

Rotaties en de somformules

Uitdagen8Analyseren25 min
draait tegen de klok in over .
  1. a
    Bereken . Leid uit de somformules voor en af.
    . Twee keer draaien is één keer over de som, dus dit is . Vergelijk de eerste kolom: en .
  2. b
    Toon dat en . Wat is dus ?
    . . Dus : terugdraaien is transponeren.
  3. c
    Toon met dat een rotatie lengtes bewaart.
    . Een rotatie verandert geen lengtes (en dus ook geen hoeken).
5.17

Onderzoek: de conditie van een ijking

Uitdagen9Onderzoeken50 min
Een TMP36 op de 10-bits ADC geeft ongeveer N = 102,4 + 2,048 T, met ruis van een halve ADC-stap. Je ijkt hem met twee referentiepunten rond 20 °C op een zekere afstand van elkaar, en gebruikt de ijking daarna om 35 °C te meten.
  1. a
    Schrijf een simulatie: kies twee ijkpunten, meet ze met ruis en afronding, los het 2 × 2-stelsel op voor a en b, meet daarmee 35 °C. Herhaal 2000 keer per afstand (0,5 tot 40 °C).
    Bijvoorbeeld:
    import numpy as np
    
    rng = np.random.default_rng(17)
    
    
    def adc(T):                            # TMP36 op een 10-bits ADC: 2,048 stappen per graad, ruis 0,5 stap
        return np.round(102.4 + 2.048 * T + rng.normal(0, 0.5))
    
    
    for afstand in (0.5, 2, 5, 10, 20, 40):
        T1, T2 = 20 - afstand / 2, 20 + afstand / 2          # twee ijkpunten rond 20 °C
        fouten, onbruikbaar = [], 0
        for _ in range(2000):
            N1, N2 = adc(T1), adc(T2)
            if N1 == N2:                                     # singuliere matrix: geen rechte te bepalen
                onbruikbaar += 1
                continue
            a, b = np.linalg.solve([[N1, 1.0], [N2, 1.0]], [T1, T2])
            fouten.append(abs(a * adc(35.0) + b - 35.0))     # meting bij 35 °C met die ijking
        cond = np.linalg.cond([[102.4 + 2.048 * T1, 1], [102.4 + 2.048 * T2, 1]])
        print(f"{afstand:4} °C: onbruikbaar {onbruikbaar / 20:4.1f} %, 95 % van de fouten onder "
              f"{np.percentile(fouten, 95):5.2f} °C, conditiegetal {cond:6.0f}")
  2. b
    Maak een tabel: afstand, aandeel onbruikbare ijkingen, 95 %-grens van de fout, conditiegetal.
    Echte uitvoer:
     0.5 °C: onbruikbaar 21.5 %, 95 % van de fouten onder  9.92 °C, conditiegetal  40143
       2 °C: onbruikbaar  0.0 %, 95 % van de fouten onder  6.00 °C, conditiegetal  10038
       5 °C: onbruikbaar  0.0 %, 95 % van de fouten onder  2.50 °C, conditiegetal   4019
      10 °C: onbruikbaar  0.0 %, 95 % van de fouten onder  1.36 °C, conditiegetal   2017
      20 °C: onbruikbaar  0.0 %, 95 % van de fouten onder  1.00 °C, conditiegetal   1024
      40 °C: onbruikbaar  0.0 %, 95 % van de fouten onder  0.78 °C, conditiegetal    543
  3. c
    Verklaar het verband tussen afstand, conditiegetal en fout. Welke ijking raad je aan voor de meetkas?
    Hoe dichter de ijkpunten bij elkaar, hoe groter het conditiegetal (ruwweg omgekeerd evenredig met de afstand) en hoe groter de fout: een halve stap ruis op twee punten die maar één of twee stappen uit elkaar liggen, verandert de helling met tientallen procent, en die fout wordt nog eens versterkt als je 15 °C buiten het ijkbereik gaat meten. Bij 0,5 °C is een op vijf ijkingen zelfs onbruikbaar (beide metingen gelijk: singuliere matrix). Advies: ijk met ijswater (0 °C) en een warm waterbad (40 °C) met een goede referentiethermometer, of met meer punten en een rechte door de kleinste kwadraten; dan is de ijking niet meer de beperkende factor, maar de ADC-stap zelf (±0,25 °C).
Zo wordt dit beoordeeld
SimulatieRuis en afronding correct; singuliere gevallen opgevangen; reproduceerbaar (seed).
ResultatenTabel volledig; trend herkend.
VerklaringConditiegetal en afstand gekoppeld; extrapolatie naar 35 °C als versterker.
AdviesIjkpunten over het meetbereik (bv. ijswater en 40 °C), meer punten en kleinste kwadraten (hoofdstuk 41).
5.18

Een vakwerk dat niet werkt

Uitdagen8Analyseren30 min
Een vierkant van staven (0,50 × 0,50 m) met knopen A, B, C, D, een scharnier in A en een rol in B. Je vergelijkt drie varianten: zonder diagonaal, met diagonaal AC, en met beide diagonalen.
  1. a
    Tel voor elke variant de vergelijkingen en de onbekenden. Voorspel wat er gebeurt.
    Vierkant: 8 vergelijkingen, 4 + 3 = 7 onbekenden: te weinig onbekenden voor een willekeurige last: een mechanisme. Met één diagonaal: 8 en 8, statisch bepaald. Met twee: 8 vergelijkingen, 9 onbekenden: statisch onbepaald.
  2. b
    Bouw de matrices in Python (gebruik de opbouw van het handboek) en bereken hun rang met np.linalg.matrix_rank.
    Echte uitvoer van de code:
    import numpy as np
    
    
    def matrix(knopen, staven, reacties):
        rij = {k: 2 * i for i, k in enumerate(knopen)}
        A = np.zeros((2 * len(knopen), len(staven) + len(reacties)))
        for j, (p, q) in enumerate(staven):
            e = np.subtract(knopen[q], knopen[p])
            e = e / np.linalg.norm(e)
            A[rij[p]:rij[p] + 2, j] += e
            A[rij[q]:rij[q] + 2, j] -= e
        for j, (k, r) in enumerate(reacties):
            A[rij[k]:rij[k] + 2, len(staven) + j] += r
        return A
    
    
    knopen = {"A": (0, 0), "B": (0.5, 0), "C": (0.5, 0.5), "D": (0, 0.5)}
    reacties = [("A", (1, 0)), ("A", (0, 1)), ("B", (0, 1))]
    rand = [("A", "B"), ("B", "C"), ("C", "D"), ("D", "A")]
    for naam, staven in (("vierkant", rand), ("met diagonaal AC", rand + [("A", "C")]),
                         ("met twee diagonalen", rand + [("A", "C"), ("B", "D")])):
        A = matrix(knopen, staven, reacties)
        print(f"{naam:20s}: {A.shape[0]} vergelijkingen, {A.shape[1]} onbekenden, rang {np.linalg.matrix_rank(A)}")
    vierkant            : 8 vergelijkingen, 7 onbekenden, rang 7
    met diagonaal AC    : 8 vergelijkingen, 8 onbekenden, rang 8
    met twee diagonalen : 8 vergelijkingen, 9 onbekenden, rang 8
  3. c
    Interpreteer: wat betekent een rang kleiner dan het aantal onbekenden, of minder vergelijkingen dan onbekenden? Wat doet een ingenieur in elk geval?
    Het vierkant heeft rang 7 < 8 vergelijkingen: niet elke last kan in evenwicht zijn (een horizontale kracht in C duwt het vierkant scheef: het vervormt tot een ruit zonder dat een staaf rekt). Oplossing: een diagonaal of stijve hoeken (zoals de hoekplaatjes van de meetkas, hoofdstuk 13 van F). Met één diagonaal is de matrix vierkant en van volle rang: één oplossing. Met twee diagonalen is de rang 8 maar zijn er 9 onbekenden: oneindig veel krachtverdelingen voldoen aan het evenwicht; welke echt optreedt, hangt af van hoe stijf de staven zijn (hoofdstuk 12 en 13). Ingenieurs kiezen dat soms bewust: een extra staaf maakt de constructie veiliger als er één bezwijkt.