Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

In een matrix van double waarden, maak een cel leeg

Origin is een grafiek software, het heeft een macro onderdeel dat werkt op C.

Ik heb een matrix vol waarden, (double(8)) Ik wil dat alles onder een bepaalde waarde een lege cel word.

Ik kan er makkelijk een waarde van 0 in zetten, maar ik wil het leeg.

Kan ik een lege waarde aan een cel in een matrix toekennen?

Dit is een klein stukje uit de makro, zoals je kunt zien heb ik 'false' geprobeert, maar dat levert gewoon '0' op. En het moet leeg zijn, geen waarde, niks nie. Moet ik de matrix veranderen van double naar float ofzo?

Code: Selecteer alles

	for(ii = 0; ii < rowend; ii++) 

// remove unwanted values

{

for(jj = 0; jj < colend; jj++)

{

if (mmNew[ii][jj] < offset)

mmNew[ii][jj] = false;

}

}
Gebruikersavatar
Raga
Lorentziaan
Artikelen: 0
Berichten: 99
Lid geworden op: wo 30 jan 2008, 14:31

Re: In een matrix van double waarden, maak een cel leeg

Wat bedoel je met lege waarde?

Floats en doubles hebben geen concept van 'lege' waardes.

Wat verwacht je te krijgen als je zo een lege waarde weer uit zou lezen?
Raga
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: In een matrix van double waarden, maak een cel leeg

niks :D

De waarde in de cel mag alles behalve een getal zijn.

Ik heb het echter al gevonden. Het woord is NANUM (kom daar maar eens op)

Goed zoeken werpt zijn vruchten af.

Code: Selecteer alles

	for(ii = 0; ii < rowend; ii++)

 // remove unwanted values

{

for(jj = 0; jj < colend; jj++)

{

if (mmNew[ii][jj] < offset)

mmNew[ii][jj] = NANUM;

}

}
Iets dat ook waarschijnlijk werkt is het volgende:

Code: Selecteer alles

// Assumes Matrix1 exists in Origin and contains some missing values (NANUM)

Matrix mat1("Matrix1");

// Change all missing values (NANUM) in Matrix1 to 0 and all other values to missing values

mat1.Replace( NANUM, 0, MATREPL_TEST_EQUAL | MATREPL_SET_TO_MISSING_VALUE_WHEN_TEST_RESULT_IS_FALSE );
Gebruikersavatar
Raga
Lorentziaan
Artikelen: 0
Berichten: 99
Lid geworden op: wo 30 jan 2008, 14:31

Re: In een matrix van double waarden, maak een cel leeg

Hm, is bij mijn weten geen standaard C of C++.

Zal wel een extensie van Origin zijn :D
Raga
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: In een matrix van double waarden, maak een cel leeg

Dat is het ook,

vervelend van die extensies dat ze altijd weer een beetje anders zijn. (zie mijn andere vraag over Visual Basic in dit forum, wat een extensie is van Polytec PSV) :D

Terug naar “Informatica en programmeren”