• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cirkel straal en middelpunt via Solver

Status
Niet open voor verdere reacties.

mcs51mc

Gebruiker
Lid geworden
19 feb 2008
Berichten
386
Hallo,Bekijk bijlage BFC-V001.xlsx
Ik zou willen van een aantal X/Y datapunten straal en middelpunt van de best passende cirkel bepalen.
HIER is een methode beschreven dmv "Solver" die ik, denk ik, correct toepas.
Echter, het bekomen middelpunt 0,0 is volledig verkeerd waardoor ook de straal verkeerd is.

Als beginwaarden gebruik ik
x= 2.386 (cel B1)
y= -0.2 (cel B2)

Te minimalizeren cel is cel B4


Alvast bedankt voor jullie inputs!
Vriendelijke groeten
 
ik heb de redenering niet helemaal gevolgd, dus daar moet je zelf even aan de slag mee, want ik vind het resultaat eerder eigenaardig.
Je fout zat er in dat je niet toeliet dat je coordinaten voor het middelpunt van de cirkel negatief werden, je moet dat vinkje weghalen voor "variabelen zonder randvoorwaarden niet negatief maken"
Verder is ook je straal een parameter, alhoewel die dan wel positief moet zijn, maar dat moet je maar zelf uitwerken.
Ik hoop dat dit eventjes volstaat om je verder op weg te helpen.
 

Bijlagen

  • BFC-V001 (1).xlsx
    23,3 KB · Weergaven: 82
Bedankt voor je reactie cow!
De werkwijze heb ik van DEZE site.
De straal mag NIET in de variabelen van Solver zitten omdat hij er al onrechtstreeks in zit.

Voor elke datapunt wordt een straal berekent (kolom C) als volgt

r=SQRT(POWER(Xi-rngCx;2)+POWER(Yi-rngCy;2))
(Xi & Yi zijn natuurlijk cel verwijzingen in Excel)

Verder wordt dan de fout berekent van elke straal met de gemiddelde straal (cel B3), dat is kolom D.

Uiteindelijk wordt cel B4 uitgerekend zijnde de som van al deze fouten.
Door nu aan Solver te vragen om deze cel te minimaliseren dmv cellen B1 & B2 wordt de radius ook mee aangepast.

Ik heb dit zelf niet bedacht, gewoon de uitleg van die video toegepast.
Je weet wel: Monkey see, Monkey do.


Echter om een onduidelijke reden werkt dit blijkbaar niet met deze data ?? !! ??


Om probleem met negatieve data te vermijden heb ik de Y data positief gemaakt, zie sheet Y+ in nieuwe file.
Maakt eigenlijk geen verschil uit, trekt nog steeds op niets :(


Hopelijk heb ik hiermee het een en het ander uitgeklaard... ...
Behalve mijn probleem!

Bekijk bijlage BFC-V002.xlsx
 
Laatst bewerkt:
inderdaad het trekt nog steeds op niets.
Solver is wel niet het ideale tool voor dergelijke zaken.
Andere benadering, voeg een lineaire trendlijn toe aan je gegevens, die er uit zien als een cirkelsegment.
Zet op het midden van die trendlijn een loodlijn.
Op die loodlijn zou normaliter ergens het middelpunt van je cirkel moeten liggen.
Ga nu gaan spelen met die x, y en r.
Zelf heb ik even geen tijd.

Correctie, als je nu even beide assen ongeveer op dezelfde schaal zet, dus tussen min en max 0.025 of zoiets, dan lijken je gegevens zeker niet op een cirkelsegment, dus is het moeilijk om daar een passende cirkel bij te maken :(
 
Laatst bewerkt:
ja, de trendlijn wijst op een parabool en inderdaad niet op een cirkel.
 

Bijlagen

  • BFC-V002 _parabool.xlsx
    34,8 KB · Weergaven: 46
of toch een cirkel met als straal oneindig, dus die lineaire regressie, puur theoretisch ...

vraagje : waarom moest het een cirkel zijn ?
 
Bedankt voor het helpen!!!
De volgende versie is aangekomen :)
In sheet "Test" heb ik een perfecte cirkel berekent in kolommen A tem C
Middelpunt in cellen C1 & C2
Radius in cel C3
Nu hebben wij het voordeel op Solver, wij weten de oplossing haha...

In kolommen E tem H heb ik het principe van de video toepast op 5 willekeurige punten.
De rode blokjes staan perfect op de ideale cirkel in de grafiek!

Geef voor Guess Cx & Cy eender welke waarden in de buurt van wat het zou moeten zijn.
Er verschijnt een groene cirkel in de grafiek in de buurt van de blauwe, maar het kan beter!!!

Dus................ laten we Solver aan het werk zetten:
dat is minimaliseren van cel F1 dmv cellen H1 & H2


En wat dacht je?????????????
Het trekt nergens op !!!

Nochtans in die video lukt het, dus waar gaat het hier verkeerd??


Waarom een cirkel?
Omdat er een publicatie bestaat die beweert dat er een verband bestaat tussen de radius van de cirkel die je in de "putten" van een ruwheidsprofiel kan tekenen en de vermoeiingsgrens van dat materiaal. Dat stukje data is dus een "put" in een ruwheidsprofiel, nu daar nog een cirkel in krijgen :)


Met die laatste file mag het nog zijn wat het wil, zelfs met een perfecte cirkel slaagt Solver er nog niet in een oplossing te vinden ?!!?


Bekijk bijlage BFC-V003.xlsx
 
Das lang geleden.... solver is soms best lastig en ik heb ook te weinig ervaring ermee voor goede tips.
Ben dus meer in de klassieke technieken terug gegaan die ik ooit op de UU geleerd heb:
https://nl.wikipedia.org/wiki/Cirkelsegment

Als ik jouw excel file bekijk heb kun je toch k en p bepalen? Correct me if I'm wrong....:eek:
dan:
"Allereerst wordt de straal R van de cirkelboog berekend [1]:"
072a1fcf2722f36df39ce22d13e97a6c83f0d1ca


De aanname hierbij is dat het tuurlijk een cirkel is, mag dat die aanname en is dat goed genoeg?
Dan heb je je antwoord. Jouw titel stelt: "cirkel".... ;) maar ik speel toch nog graag even de advocaat vd duivel... ;)

Maar... NOK? Als het een ovaal is... daar moet ik nog even over denken.

800px-Oppervlakte_Cirkelsegment_1.png
 
Laatst bewerkt:
Misschien wel heel simpel gedacht maar als je alle punten van de perfecte cirkel hebt dan is de doorsnede van de cirkel is toch de maximale X (of Y) waarde min de minimale X (of Y) waarde.
De straal is de helft daarvan
Het middelpunt ligt dus op minimale waarde + straal.
 
ik meen me te herinneren dat er gesteld werd dat excel niet het beste statistisch programma was. Waar het precies schortte kan ik me niet meer herinneren, maar het zat hem ergens in de nauwkeurigheid.
Als je dan zoals hier werkt met een straal van <=0.001, dan kom je met een som van die kwadraten in de buurt van 1e-07.
Volgens mij zit dat alles tot kort op de limieten van nauwkeurigheid van Excel.
Wat gebeurt er als je alle Y-waarden (eventueel ook de x-en) met 100 zou vermenigvuldigen ?

Het is overigens ook al te lang geleden dat ik die stap genomen heb, maar ik maakte vroeger mijn optimalisatieprobleempjes in excel, die ze doorstuurde naar GAMS (https://www.gams.com/download/ het duurt wel eventjes voor je met dit pakket kan werken !) en het resultaat daarna terug las in excel. De mogelijkheden van de pakket zijn vele malen groter !!!

Nogmaals, wat is de bedoeling van deze vraagstelling. Sylvester-ponte kwam enkele topics terug op een perfecte parabool uit (R2=1), waarom dan terugrekenen naar een cirkel ?
 
Welke excelversie heb je, in excel 2010 is de solver sterk verbeterd, vanaf dan zit er de "GRG nonlinear"-methode in.
 
Excel is 2010 & 2017, beiden geven hetzelfde.
Ik dacht de reden van de vraagstelling te hebben beantwoord onderaan post #7, niet?
Met deze versie (V004) vraag ik mij af of het probleem nu opgelost is of niet?
Werkwijze van route99 (cel G11) komt nagenoeg overeen met wat de Solver geeft (cel B3)
Wat heb ik verandert, de X-data *1000 om beide assen in dezelfde eenheid te hebben.

Het blijft mij wel een raadsel waarom in sheet "Test" Solver geen correct antwoord kan vinden ?!!!?
Data kan niet beter dan dit op een cirkelomtrek staan
en
X&Y data hebben dezelfde schaal, (eigenlijk geen :) )

Dus ja: Even Microsoft bellen zeker... ... ...


Bekijk bijlage BFC-V004.xlsx
 
ik zat even in de bib van voorbeelden van GAMS te kijken en vond dit probleem, dat heel dicht in de buurt van de vraagstelling komt.
Hier moest je de kleinste cirkel (coordinaten van het middelpunt en de straal) vinden waarbij alle punten binnen die cirkel lagen.
Ik kijk anders later eens om dit aan te passen aan je excelvoorbeeld, want hier nam men 100 punten random
 

Bijlagen

  • circle.pdf
    242,5 KB · Weergaven: 62
@ JK,
Is dit niet wat hier gedaan wordt?
Ok de vergelijking y=f(x) zit hier niet rechtstreeks in maar wel onrechtstreeks door de berekening van alle r's, dan de fout tov het gemiddelde.
Of ben ik verkeerd?


@ cow18,
Ha, wie we daar hebben, een oud gekende MCC: zijnde Minimum Circumscribed Circle
Je hebt nog zijn broertje MIC: zijnde Maximum Inscribed Circle
En als laatste MZC: zijnde Minimum Zone Circle
Allemaal definities gebruikt bij rondheid van gedraaide stukken.
Hiervoor heb ik al routines in LabVIEW, niet in Excel.
Voor mij hoef je dus daar geen tijd in te steken... ...
 
Er geen tijd meer in steken, wil dat dan zeggen :
1. geen tijd steken om dit MCC-model om te bouwen naar excel
of nog een stap verder
2. dit model na stap 1 nog verder aan te passen zodat het de gevraagde probleemstelling aankan.
of
3. ben je klaar met excel en doe je het in Labview ?
 
Volgens mij zal dat MCC model hier niet werken omdat alle punten aan dezelfde kant (segment) van de cirkel liggen.

Deze vraag moet binnen Excel blijven.


Voor dat ene voorbeeld gaf Solver een plausibele oplossing wanneer ik de X-as *1000 deed.
Zal het voor andere locaties in het ruwheidsprofiel werken? ... ... ... ... moet ik nog verder bekijken.
Echter deze week andere prioriteiten.

Wat mij het meest stoort is dat Solver problemen heeft met een perfecte cirkel, zie laatste versie van de Excel file.
Dat zou toch niet mogen ?!!?
 
In de GIS (geo information system) wereld wordt uiteraard ook veel gerekend met bogen en wat daar bij hoort.
Ik kom zelf niet uit die wereld maar heb wel eens bij iemand meegekeken. Van hem weet ik dat ze graag met Python werken en dat komt tuurlijk omdat ze op de uni, oa WUR, met die taal kennis maken.

Heb zelf effe via Google rond gekeken:
Laat je eens inspireren door een 2e tip.
https://www.movable-type.co.uk/scripts/latlong.html

Als ik hem binnenkort weer spreek zal ik eens vragen hoe hij dat doet.
Weet overigens niet of dat nu nog steeds zijn dagelijkse werk is na zijn GIS studie.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan