[Matlab] stoppen zodra 2 significante cijfers bereikt zijn

Pagina: 1
Acties:
  • 411 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
In Matlab ben ik bezig met een CFD model. Nu wilde ik graag weten hoe ik kan testen of 2 variabelen gelijk zijn op 2 significante cijfers.

Voorbeeld:
0.14545645
0.142768678

(deze zijn gelijk op 2 significante cijfers)

0.144345
0.132342

(Zijn niet gelijk op 2 significante cijfers)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 14-07 21:33

NMe

Quia Ego Sic Dico.

Je kan je getal vermenigvuldigen met 100 en daarna de round-functie gebruiken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Maar als je 0.0023 hebt kan dat weer niet..

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 14-07 21:33

NMe

Quia Ego Sic Dico.

Waarom niet? 0.0012 is toch op 2 decimalen gelijk aan 0.0023?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Dan doe je hem x10 zolang hij kleiner dan 10 is? En daarna afronden :)
-NMe- schreef op vrijdag 15 april 2005 @ 18:46:
Waarom niet? 0.0012 is toch op 2 decimalen gelijk aan 0.0023?
Waar zie jij decimalen staan? Het gaat om significante cijfers 8)

[ Voor 65% gewijzigd door eamelink op 15-04-2005 18:48 ]


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Significante cijfers is wat anders dan decimalen. is er geen functie in matlab die doet wat ik wil? Ben al lange tijd aan het zoeken, maar kom alleen maar functies voor integers tegen... was het maar php :-)

[ Voor 62% gewijzigd door RSD op 15-04-2005 18:49 ]


Acties:
  • 0 Henk 'm!

  • raoulduke
  • Registratie: Oktober 2003
  • Niet online

raoulduke

Get in!

(Weggehaald ivm stom idee)

[ Voor 90% gewijzigd door raoulduke op 15-04-2005 18:56 ]

Remember, if you have any trouble you can always send a telegram to the Right People.


Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
probleem is dat met significante cijfers er compleet nieuwe rekenregels zijn; op basis van de bewerkingen die plaats vinden in je formule wordt aan het eind een bepaalde afronding op basis van significantie gegeven. Je zou dus eigenlijk in 'significante modus' moeten springen zodra je die formule start en aan het eind zeggen 'dit was het, wat voor significantie heb ik'. Dan zou je applicatie allereerst de formule moeten uitrekenen, en daarna door de getallen en de bewerkingen te bekijken tot het eindantwoord moeten komen. Klinkt redelijk complex maar zeker niet ondoenbaar. En ik kan eigenlijk niet geloven dat het niet in matlab zit :)

Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Hoe noemt men zoiets dan?

Acties:
  • 0 Henk 'm!

  • Da Weef
  • Registratie: Januari 2004
  • Laatst online: 22-07 18:23
Ik weet niet precies wat je ermee van plan bent, maar de functie die je nodig hebt om een getal af te ronden op een bepaald aantal significante cijfers is 'chop'

Was trouwens niet moeilijk om te vinden... Lookfor had hem zo gevonden...

.


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Je moet dan wel weten dat je op chop kan zoeken. Maar goed, het is om het aantal panelen te bepalen.

Je laat het CFD programma met allemaal verschillende meshes lopen. Zodra de significantie niet meer verandert, dus bij 2. Dan kun je stoppen en weet je hoeveel panelen je moet gebruiken.

Acties:
  • 0 Henk 'm!

  • Da Weef
  • Registratie: Januari 2004
  • Laatst online: 22-07 18:23
Dan is chop precies wat je moet hebben, overigens heb ik met lookfor gezocht op significant, waarop die functie eruit kwam rollen.

Hoe dan ook denk ik dat je nu wel verder kan ;)

Succes!

.


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Thnx, idd, dat is wat ik nodig heb :-)

Acties:
  • 0 Henk 'm!

  • DeDooieVent
  • Registratie: April 2005
  • Laatst online: 08-04 13:31
Sorry dat mij hierin meng maar ik heb hetzelfde probleem maar dan in excel :( ja ik weet het, excel, maar dat is nu eenmaal het programma dat mijn baas ter beschikking stelt

ik wil in excel ook significant werken.

nu doe ik dat doordat ik ongeveer weet in welke range de getallen komen met de round functie(debieten bijvoorbeeld liggen vaak in de x0.000 range (tienduizende kuubs per uur)) maar soms klopt die range niet en is het een debietje van enkel honderden kuubs

zo ook analyse resultaten, Dioxine en Furanen meten wij tot enkele nanogrammen, andere stoffen tot milligrammen. Maar hoe dan ook er zijn altijd slechts twee cijfers significant. Nu gebeurt het meeste afronden met de hand, daar wij ook nog eens te maken hebben met rapportage grenzen (lager dan 0,1 mg kwik per kuub rapporteren we als < 0,1)

Wat heb ik in excel geautomatiseerd:

wel, als het lab een detectiegrens levert dan vullen we het getal als negatief. De opmaak van de cel maakt van een - een <.(celopmaak, aangepast, "0,000;< 0,000")

de uitkomst wordt gechecked volgens rapportage grens met =als(A1<="0,1";"< 0,1";round(A1;2))

maar dat is afronden en zolang je de range goed gokt gaat dat prima, maar stel dat ik 1234,12 mg de kuub vindt, dan maakt excel hiervan 1234 mg/m3 (round 2) terwijl dat een onzinnig getal is en je eigenlijk 1200 mg/m3 zal rapporteren.

iemand een idee?

(ja ik ben zo goed geholpen in mijn vorige vraag (excel en dataloggers) ik blijf nu terugkomen :P ;) )

edit:

ok, vorige keren waarschijnlijk niet goed gekeken op internet, want de oplossing in excel is deze:

=AFRONDEN(A6;B6-(1+INTEGER(LOG10(ABS(A6)))))

waar in cel A6 de waarde staat en in cel B6 het aantal significante cijfers

nu ja, misschien heeft iemand anders er iets aan............. (make note; eerst opnieuw zoeken voor posten... ;( )

[ Voor 16% gewijzigd door DeDooieVent op 16-04-2005 07:13 ]

Pagina: 1