|
Thank you Peter. You shown path, I will dig deep. Fortran is not a problem. I used it around 15 years ago. But I have no problem understanding it now. Thank you everyone for your kind reply to this thread. Appreciated.
Thanks for your help
Sam
|
|
|
|
|
You have two teams broken up by gender. Each team is to do some amount of work (one day per week for several weeks). The girl's team consistently does more work as there are more of them showing up to do the work. In the end, it's not fair to just look at how much work each team did, but I can't figure out what other factor(s) I need to look at to make the results fair. For example:
Week 1:
19 girls did 42 units of work
17 boys did 37 units of work
Week 2:
20 girls did 19 units of work
15 boys did 15 units of work
Week 3:
18 girls did 20 units of work
14 boys did 15 units of work Any ideas?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Sorry but the question (at least for me...) is not enough clear...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
If your question is which team worked harder, I'd do it like this:
Week 1:
the average girl did 2.21 units of work.
the average boy did 2.18 units.
week2:
G .95
B 1.00
week3
G 1.11
B 1.07
three week average:
1.42 units of work/girl/week
1.42 units of work/boy/week
Presumably if you kept more than 2 digits right of the decimal you'd find the numbers didn't come out identical.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
Try this (average work per worker per week):
week 1:
g 42/19 = 2.21
b 37/17 = 2.17
week 2:
g 19/20 = 0.95
b 15/15 = 1.0
week 3:
g 20/18 = 1.11
b 15/14 = 1.07
averages:
girls: (2.21 + 0.95 + 1.11) /3 = 1.423 units of work per week per girl on average
boys: (2.17 + 1.0 + 1.07 ) /3 = 1.413 units of work per week per boy on average
the difference is < .5 %, and is not likely significant.
|
|
|
|
|
If you define the average productivity as total output / total person weeks then the boys do better
Girls = 81/57 = 1.421
Boys = 67/46 = 1.457
despite the boys being behind on 2 of the 3 weeks.
Do the girls deserve to be rewarded for showing up in greater numbers and actually delivering more?
Note that this set of numbers is the basis for some sort of paradox. If the girls made one more unit in week 2, then their productivity would be greater than the boys in weeks 1 and 3, and equal to the boys in week 2, but their average productivity overall (total output / total input) would still be less than the boys!
Girls: 82/57 = 1.439
Boys: 67/46 = 1.457
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
What you have succeeded in demonstrating is that you sample size is too small to make any meaningful comparison.
|
|
|
|
|
I wasn't even going to post until I saw the mathematical curiosity that it is possible that the girl's weekly productivity could be never less than the boys, yet their overall productivity could be lower, that piqued my interest a bit. Otherwise it is not that interesting a problem.
As far as the sample size is concerned, I agree that you can't say that one group is definitely more productive than the other with the data you have. Whether this is relevant depends on the original problem - is it a race/competition or a measurement? If it was a race/competition then one group may have won. I've never heard the athlete that came second by 0.01 sec protest on the basis that because the sample size was so small that the time difference was insignificant!
If it is a competition then the rules should be set in advance!
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
This might be a bit late but you need to find out what each girl did and what each boy did, then do a frequency and find the standard deviation on that. From this you can do curves and boxplots etc to see if there really is a difference between boys and girls.
Also what is your sample size, you need at least a 25 to do any reasonable statistics etc...
|
|
|
|
|
HI all,
I wanna find angle between hours & minutes needle of a clock,where i will get the time dynamically from the user.
Suppose,now the time is 12:40,i have to find angle between 12 and 8 of the clock.
Am strucked with the startup,i mean with the help of arc length and radius we can start after that bit trouble,
can anyone help me
Bye
Have a Nice Day Dudes
|
|
|
|
|
clockwise angle (of course...)
degrees = (hour % 12) * 30 - minutes * 6;
where '%' is the reminder of the integer division.
Note that you'll get negative angles too.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
CPallini wrote: degrees = (hour % 12) * 30 - minutes * 6;
where '%' is the reminder of the integer division.
The hour hand does not jump in 30 degree steps, you need to work out the location of the hour hand as it moves steadily from (hour % 12) * 30 to ((hour+1) % 12) * 30 and then subtract the minutes angle. The minutes angle (minutes * 6) looks OK unless you have to take seconds into account - then it is the same issue.
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
if you have a clock that moves the hands continuously, you need to use the time in seconds to generate decimal hour and minute values and use those instead.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
OK, friends...
double radians =(( hours * 3600 + minutes * 60 + seconds)/21600.-(minutes * 60 + seconds)/1800.) * PI_GREEK;
the conversion to degrees, minutes,... is up to you...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
milliseconds?
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
|
I hope we get full marks!
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
Here's my problem: I want to display a pie chart (using the awesome Zedgraph library available on CodeProject), but I don't know in advance how many slices it will have. It can be 5, it can be 25. Of course, I could define a hundred or so color constants, but that is not very elegant.
I've searched on Google for a color generation algorithm that would generate a random set of reasonably contrasting colors, but I can't find anything.
Anybody has seen anything like this? If you have or know of some source code, in any language, that would be great, C# preferred. For an example of how it should work, see Excel, no matter how many slices you add (within reason), it generates different colors for each slice.
Thanks,
Roel
|
|
|
|
|
I actually think your best way would be to create a cyclic ordered list of about 16 colors: c1->c2-> ..., c20 ->c1 ... where each color is nicely contrasted with the one in front of it (I think any real totally non color-constant based method could create high contrast colors, but would have a hard time making them be attractive).
Then you could either just keep cycling between the colors as you create boxes (and checking that the first bar color generated is high contrast with the last, which will be adjacent pie pieces), or you could tweak the r, g, and b values of each color by adding a plus or minus 3 or something to each value.
Basically, I just don't think that people can at all easily tell between more than about 20 colors the way you need them to for your app. (as an experiment if you reply to this, check out the list of emoticons you can choose from - almost all are in the orange/redish side of the spectrum. How many of those do you think you could really easily tell the difference between if you we looking for pieces in a pie? 4 maybe? So if you have 4 for each of red, yellow, green, blue, you need 16 constants).
So point is that after any hypothetical algorithm you're describing generates 16 or 20 colors or so, it'll be tough to start telling new colors apart from old. Therefore making a list of 20 color values, *hand-picked* to look particularly good together, is likely the best way to go.
If you want to add a little variety to the 20 colors, I would say take the rgb triplet of each color "generaed" and add a random number in the [-j, j] range, where j is some number you'll have to figure out empirically based on what works best. That'd be likely to be best of both worlds, I think.
|
|
|
|
|
That's what I call common sense preventing over-engineering! Yes, I think you may be right. I am going to try this out. Thanks for you elaborate answer. I will let you know how it works out.
Roel
|
|
|
|
|
I've trying to read a .txt files in order to plot the data on a ZedGraph. The problem is I cannot convert the data to double. The compiler gives bunch of errors(Error 1 Cannot convert type 'string' to 'double'). The following is a piece of code that i'm having trouble with.
private void BRead(GraphPane myPane)
{
FileStream fleReader = new FileStream("kel.txt", FileMode.Open, FileAccess.Read);
StreamReader stmReader = new StreamReader(fleReader);
StringBuilder lstChars = new StringBuilder();
double x = 0, y;
int iChar = stmReader.Read();
lstChars.Append((char)iChar);
// double[] yx = new double[lstChars.Length];
PointPairList list = new PointPairList();
while (iChar > -1)
{
x = x + (double)0.0002;
iChar = stmReader.Read();
lstChars.Append((char)iChar);
y = (double)(lstChars.ToString()); //error
list.Add(x, y);
}
this.textBox1.Text = lstChars.ToString();
stmReader.Close();
CurveItem myCurve = myPane.AddCurve("My Curve",list, Color.Red, SymbolType.Diamond);
}
can anyone help me please!!
|
|
|
|
|
I've never used .net, but surely you want to convert the string to double, the ToString() function seems to convert to a String.
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
Replace: y = (double)(lstChars.ToString()); //error
with: y = Convert.ToDouble(lstChars.ToString());
You are attempting to perform a cast that is not implicit. You need to use the ConvertTo function to handle this type of cast. Also, if the string does not represent a double or has characters in it that would not be used to represent a double the cast will fail.
|
|
|
|
|
y = Convert.ToDouble(lstChars.ToString()); gives the following error:
Input string was not in a correct format. what can I do about this?
Thanks for your reply.
|
|
|
|
|
This error tells me that the string that you are passing in to be converted contains something other than numbers and a decimal point. For example if you pass in "A32.41" the conversion to double will fail. If you pass in "36.42" the coversion will pass. Look to see what the actual string is when you call the convert function.
|
|
|
|