Springen naar inhoud

In een matrix van double waarden, maak een cel leeg


  • Log in om te kunnen reageren

#1

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 20 mei 2008 - 14:56

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?

for(ii = 0; ii < rowend; ii++) 			// remove unwanted values
	{
		for(jj = 0; jj < colend; jj++)
		{
			if (mmNew[ii][jj] < offset)
			mmNew[ii][jj] = false;
		}

	}

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Raga

    Raga


  • >25 berichten
  • 99 berichten
  • Lorentziaan

Geplaatst op 20 mei 2008 - 15:07

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

#3

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 20 mei 2008 - 16:28

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.

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:
// 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 );

#4

Raga

    Raga


  • >25 berichten
  • 99 berichten
  • Lorentziaan

Geplaatst op 20 mei 2008 - 18:10

Hm, is bij mijn weten geen standaard C of C++.
Zal wel een extensie van Origin zijn :D
Raga

#5

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 21 mei 2008 - 09:40

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





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures