// None yet...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using USBkit; //This is for the costomised dll wrapper.
using System.IO; //This if for binary file operations.
using lbrStatistics; //This is for the statistics library.
namespace USBTL
{
public partial class Form1 : Form
{
int iUSBDevice; //This is the USB enuminator.
bool bUSBDeviceStatus = false; //Status of USB device.
//bool bWriteFileSet = false; //File pathway is set or not.
//bool bWriteTofile = false; //Writting to file.
bool bflasher = false;
float[,] fTemperatureData; //Temperature Data array.
const int iTemperatureDataSize = 128;
const int iNumberOfChannels = 2;
float [] fMeanValue; //This array is for the Mean Value.
float [] fStdDev; //This array is for the standard Deviation.
float[] fVariance; //This array is for the Variance calculations.
float[] fConfidence; //This array is for the Confidence calculations.
float[] fMaxTemperature= new float [2] {30, 30}; //This is the Temperature conversion constand.
float[] fMaxInputVoltage= new float [2] {255*4/5, 255*4/5}; //This is the Input Range coverage constant.
enum ChanID {Chan1, Chan2}; //Just an enumeration for the Analogue Input Channels.
//Class Form1 constructor.
public Form1()
{
InitializeComponent();
}
// Form1_Load opens up the USB Device and initialises the data buffer.
private void Form1_Load(object sender, EventArgs e)
{
Console.WriteLine("Application is starting!!"); //Just a message on the output window
fMeanValue = new float [iNumberOfChannels];
fStdDev = new float [iNumberOfChannels];
fVariance = new float[iNumberOfChannels];
fConfidence = new float[iNumberOfChannels];
for (int y = 0; y < iNumberOfChannels; y++)
{
fMeanValue[y] = 0; //Initialise MeanValue
fStdDev[y] = 0; //Initialise Std Deviation
fVariance[y] = 0; //Initialise Variance
fConfidence[y] = 0; //Initialise Confidence
}
#region USB interogation code
//Interogate and find the address of the USB kit.
for(int Device=0; Device<4; Device++)
{
iUSBDevice = USB.OpenDevice(Device);
if (iUSBDevice != Device)
{
bUSBDeviceStatus = false;
stxtUSBStatus.ForeColor = Color.Red;
stxtUSBStatus.Text = "USB NOT FOUND";
Console.WriteLine("USB Device " + Convert.ToString(Device)+ " not found");
}
else
{
bUSBDeviceStatus = true;
Console.WriteLine("USB Device " + Convert.ToString(Device) +" Found");
stxtUSBStatus.ForeColor = Color.Green;
stxtUSBStatus.Text = "USB "+Convert.ToString(Device)+" OPEN";
break;
}
}
#endregion
#region Array initialisation Code
fTemperatureData = new float[iTemperatureDataSize,iNumberOfChannels];
for(int y=0; y<iNumberOfChannels; y++)
for (int i = 0; i < fTemperatureData.GetLength(y); i++)
fTemperatureData[i,y] = 0;
#endregion
#region If USB device found Enable the timer
if (bUSBDeviceStatus == true)
{
tmrNS.Interval = 200; //Timer is running 5 times a second.
tmrNS.Enabled = true;
}
#endregion
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Console.WriteLine("Application Terminated");
}
private void tmrNS_Tick(object sender, EventArgs e)
{
#region flasher
if (bflasher == false)
{
USB.SetAnalogChannel(1);
bflasher = true;
}
else
{
USB.ClearAnalogChannel(1);
bflasher = false;
}
#endregion
#region Reading analogue channels.
int [] iAnalogueInput = new int [2] {1, 2};
USB.ReadAllAnalog(ref iAnalogueInput[0], ref iAnalogueInput[1]);
pltData1.data = (int) ((float) iAnalogueInput[(int)ChanID.Chan1] * fMaxTemperature[(int)ChanID.Chan1]/fMaxInputVoltage[(int)ChanID.Chan1]);
pltData2.data = (int) ((float) iAnalogueInput[(int)ChanID.Chan2] * fMaxTemperature[(int)ChanID.Chan2]/fMaxInputVoltage[(int)ChanID.Chan2]);
pbTemp.Value = iAnalogueInput[(int)ChanID.Chan1];
#endregion
#region Setup the digital LEDs
int Channel = (int)ChanID.Chan1;
int iBitShift =(int) Math.Round(Math.Log(iAnalogueInput[Channel], 2), 0)-1;
USB.WriteAllDigital(1 << iBitShift);
#endregion
#region Array updates.
for(int y=iNumberOfChannels-1; y>0;y--)
for (int i = fTemperatureData.GetLength(y)-1; i > 0; i--)
fTemperatureData[i,y] = fTemperatureData[i - 1,y];
for(int y=iNumberOfChannels-1; y>0; y--)
fTemperatureData[0,y] = (float) iAnalogueInput[y]*fMaxTemperature[y]/fMaxInputVoltage[y];
#endregion
#region Mean Value Calculation
for (int y = 0; y < iNumberOfChannels; y++)
{
for (int i = 0; i < fTemperatureData.GetLength(y); i++)
fMeanValue[y] += fTemperatureData[i, y];
fMeanValue[y] =(float) Math.Round(fMeanValue[y]/fTemperatureData.GetLength(y),2);
}
#endregion
#region Standard Deviation Calculation
for (int y = 0; y < iNumberOfChannels; y++)
{
for (int i = 0; i < fTemperatureData.GetLength(y); i++)
fStdDev[y] += (float)Math.Pow((double)(fTemperatureData[i, y] - fMeanValue[y]), 2.0);
fStdDev[y] = (float) Math.Round((float)Math.Sqrt(fStdDev[y]/(fTemperatureData.GetLength(y) - 1)),2);
}
#endregion
#region Variance Calculation
//Add here code to calculate the variance
//fVariance[0]=???
#endregion
#region Confidence Calculation
//Add here code to calculate the Confidence
//fConfidence[0]=???
#endregion
//Add here code to write the Mean value, Standard Deviation, Variance and Confidence in textboxs. Hint use labels to indicate which one is which.
//Also add code here to call the statistic library functions
}
private void pbTemp_Click(object sender, EventArgs e)
{
//Nothing implemented for this function.
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (tmrNS.Enabled == true) //Stop Timer.
tmrNS.Enabled = false;
USB.ClearAllAnalog();
USB.ClearAllDigital();
USB.CloseDevice(); //Close USB.
GC.Collect();
}
private void pltData1_Load(object sender, EventArgs e)
{
//Nothing implemented for this event.
}
private void button1_Click(object sender, EventArgs e)
{
//This is just an example of using the statistics library......
//These are are all local variables!!!
float [] fAverageValue = new float [iNumberOfChannels];
float [] fStandardDeviation = new float [iNumberOfChannels];
float [] fVariance = new float [iNumberOfChannels];
float [] fConfidence = new float [iNumberOfChannels];
for (int y = 0; y < iNumberOfChannels; y++)
{
for (int i = 0; i < fTemperatureData.GetLength(y); i++) //This is an example for filling up the data Array
fTemperatureData[i, y] = 100 + 2/((float)i + 1); //Generate dummy data
float[] fSingleDimArray= new float [iTemperatureDataSize]; //A temporary array for converting multidimentional arrays to single arrays.
// Array.Copy(fTemperatureData, (int)fTemperatureData.GetLength(128) * y, fSingleDimArray, 0, fTemperatureData.GetLength(y));
for (int i = 0; i < fTemperatureData.GetLength(y); i++)
fSingleDimArray[i] = fTemperatureData[i, y];
fAverageValue[y] = (float) Math.Round(Statistb.Average(ref fSingleDimArray),1); //Calculating Average Value
fStandardDeviation[y] =(float) Math.Round(Statistb.StdDev(ref fSingleDimArray),3); //Calculating Standard Deviation
fVariance[y] = (float) Math.Round(Statistb.Variance(ref fSingleDimArray),1); //Calculating Variance
fConfidence[y] = (float) Math.Round(Statistb.Confidence90(ref fSingleDimArray),3); //Calculating Confidence
//This is for reporting the calculations to the output window.
Console.WriteLine("Average"+y.ToString()+"=" + fAverageValue[y].ToString());
Console.WriteLine("SD"+y.ToString()+"=" + fStandardDeviation[y].ToString());
Console.WriteLine("Var"+y.ToString()+"=" + fVariance[y].ToString());
Console.WriteLine("Conf"+y.ToString()+"=" + fConfidence[y].ToString());
}
}
private void pltData2_Load(object sender, EventArgs e)
{
//Nothing implemented for this event!!
}
}
}
Répondre
#region Variance Calculation
for (int y = 0; y < iNumberOfChannels; y++)
{
for (int i = 0; i < fTemperatureData.GetLength(y); i++)
fVariance[y] += (float)Math.Pow((double)(fTemperatureData[i, y] - fMeanValue[y]), 2.0);
fVariance[y] = (float)(fVariance[y]/(fTemperatureData.GetLength(y) - 1));
}
#endregion
Quels intervalles de confiance vous intéressent?
Merci pour votre réponse ne sais pas ... j'ai essayé 2 obtenir à mon tuteur .... sans succès --- semble 2 parler de l'intervalle de confiance de température ...... j'ai oublié que varaince était d carré de SD ... smh ... aidez-moi avec le bit plus tard aussi ... qui avait // Ajoutez ici le code pour écrire la valeur moyenne, l'écart-type, la variance et la confiance dans les zones de texte. // Ajoutez aussi le code ici pour appeler les fonctions de la bibliothèque de statistiques Je lui demanderais l'intervalle de confiance qu'il veut demain .. – onyebuoke
Si vous devez définir la valeur d'un TextBox peut-être vous devriez juste Google le premier. Je ne peux pas vous aider avec les valeurs de confiance, sauf si je sais quelle est la question, désolé si ce n'est pas très utile. – openshac
tanx ..... intervalle de confiance à 90% – onyebuoke
- 1. variance Calcul Prolog
- 2. Calcul et tracé de la variance et valeur attendue
- 3. Calcul de la variance donnée moyenne
- 4. Calcul de la variance en sqlite
- 5. flymake et python-execute-region
- 6. Cet algorithme de calcul de la variance est-il correct?
- 7. Remplissage d'un tableau avec des valeurs inférieures à la moyenne et calcul de la variance
- 8. Calcul de la confiance dans la règle d'association
- 9. Préprocesseur Region/EndRegion
- 10. gestureRecognizers - new region
- 11. Gemfire region put
- 12. #region analogique pour eclipse
- 13. Co/Contra-Variance avec entrée et sortie
- 14. Variance sur les types
- 15. IP rack et de confiance
- 16. Annulez close outlook forme region
- 17. Variance de Ordered, PartiallyOrdered
- 18. Confus avec une variance
- 19. Comment supprimer les commentaires robo et #region de C#?
- 20. Kalman Tracking - Variance de mesure
- 21. PRISM Region perd Contexte pendant la navigation
- 22. Comment désactiver -webkit-app-region: drag ;?
- 23. Listes de confiance de certificat et IIS7
- 24. WIF 4.5 et environnements de confiance partielle
- 25. Paramètres de confiance et algorithmes associés
- 26. oauth2 et les sites de confiance
- 27. WPF ClickOnce et problème de confiance partielle
- 28. Entity Framework 4.3 Migrations et moyenne confiance
- 29. xHTML: region (div) dans une table
- 30. HBase: assignation region-regionserver pas encore
Veuillez mettre en forme le code avec quatre espaces ou cliquez sur le bouton '{}'. – SLaks
En outre, s'il vous plaît poser une question spécifique. Nous n'écrirons pas votre programme pour vous. – SLaks
Êtes-vous aux prises avec la théorie des statistiques ou comment l'appliquer? Et je pense que vous avez sur-utilisé les régions, au moins à mon goût - vous ne les voyez pas normalement utilisées pour réduire le code dans les fonctions. – Rup