getal uit een matrix halen??

Status
Niet open voor verdere reacties.

bakkertje00

Gebruiker
Lid geworden
6 jan 2007
Berichten
11
Heej,

Ik ben bezig voor mijn opleiding een c++ programma te schrijven die met behulp van een DH-Transformatie standen van een been kan berekenen. Dit is om een hoogte van een boek te bepalen. Dit programma is al een heel stuk af!! Heb alleen een probleem!!! :confused:
Ik wil uit een matrix een waarde ophalen om die weer verder te gaan bewerken.
Weet iemand hoe ik dat het beste kan doen?

Dus je hebt een matrix en wil een getal eruit op bv op positie 1,2 hoe doe ik dit??

Alvast bedankt!! :thumb: :thumb:
 
ik heb geen idee waarover je het hebt :P wat is een matrix?


HMMM

oke moeilijk uit teleggen maar hier is een vb uit de C++-code:

double m1[100][100] = {{(cos(a)),0,(-sin(a)),0},
{0,1,0,0},
{(sin(a)),0,(cos(a)),0},
{0,0,0,1}};

Misschien is het zo duidelijker!!
 
zoals ik het begrijp wil je dus uit een matrix (m1) oftewel een multidimentional array van
100 op 100 bijvoorbeeld het getal op plaats 1,2

dus m1[1][2] ? rij nummer 1 en kollom 2 ? (of rkollom en rij ) :P weet ik veel.

daar zit dan het getal dat jij wilt hebben?


als dat het geval is kun je :

double tebewerkengetal = m1[1][2];
en dan zo verder gaan...

maar k denk dat jij erges anders over bezig bent :P denk niet dat k je kan helpen :P
 
Laatst bewerkt:
@CanTBeaTme: Een matrix is een wiskundige structuur, dit wordt idd vertaald naar een 2dimensionale array in programmeertalen.

En voor bakkertje, om een getal uit de matrix te gebruiken geen je zoals CanTBeaTme al zei kolom en rijnummer mee als index. Let wel: in C++ begint de indexwaarde vanaf 0 te tellen!

Code:
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};

int result = matrix[0][1] + matrix[2][2];
dan wordt result = 2 + 9 = 11

Hoop dat dit wat verduidelijkt,
--Johan
 
Oke bedankt kan nu weer verder!!
Je moet het maar net weten van dat tellen vanaf 0!!:(

Thanx :thumb: :thumb: :thumb:
 
een matrix kan op zich elke willekeurige dimensies hebben 3x3, 2x3, 45x3x78x32.. maakt niet uit. matrix is niks meer dan een ander woord voor tabel....
en je kan idd met de indices elke entry eruit halen

net als
int a[10] a[0]...a[9] bevat trek je gewoon het id door
int a[10][10] heeft dus

voor a[0] -> a[0][0] a[0][1] a[0][2] .... a[0][9]
voor a[1] -> a[1][0] a[1][1] a[1][2] .... a[1][9]

dus 10 x 10 indices.... etc

laat je niet afleiden door genestheid of grotere getallen. HET ZIJN GEWOON TABELLETJES ;)

hoewel het mooier zal zijn om matrices anders te definieren dan simpele arrays, kan het prima voldoen.

je zegt als voorbeeld

double m1[100][100] =
{ {(cos(a)),0,(-sin(a)),0},
{0,1,0,0},
{(sin(a)),0,(cos(a)),0},
{0,0,0,1}};

waarom in godsnaam is de matrix 100 x 100 ? tis een 4x4 matrix.....
en daarnaast ist niks anders dan een 4d uitwerking van de rotatie matrix (in 2d),,,,,
met de lege dimensies opgevuld volgens de identiteits matrix...
je roteert nu 'de stand van een been'.....in 2d, maar beeld af in 4d....
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan