Média com valores randômicos
Tenho um gráfico, com tres barras por série, feiro com Telerik. Como eu ainda não conectei com um banco de dados, criei as barras com valores randômicos, para simular um BD. Só que a quarta série seira uma média de todos os valores(as 10 séries de tres). Como estou fazendo com Random, não sei como seria essa média. Cada série são tres barras e um total de 10 séries de 3. Alguém sabe como fazer ou tem uma idéia? Abaixo o código randômico:
tamanhoserie = 10;
for (int i = 0; i < tamanhoserie; i++)
{
doubleArray2008[i] = random.Next(100);
doubleArray2009[i] = random.Next(100);
doubleArray2010[i] = random.Next(100);
}
Aqui está minha chamada para montar a série.
chartSeries1.SetValues(bl.doubleArray2008);
chartSeries2.SetValues(bl.doubleArray2009);
chartSeries3.SetValues(bl.doubleArray2010);
tamanhoserie = 10;
for (int i = 0; i < tamanhoserie; i++)
{
doubleArray2008[i] = random.Next(100);
doubleArray2009[i] = random.Next(100);
doubleArray2010[i] = random.Next(100);
}
Aqui está minha chamada para montar a série.
chartSeries1.SetValues(bl.doubleArray2008);
chartSeries2.SetValues(bl.doubleArray2009);
chartSeries3.SetValues(bl.doubleArray2010);
Pjava
Curtidas 0
Respostas
Joel Rodrigues
26/04/2012
Deixe-me ver se entendi. Cada elemento i da quarta série será a média dos elementos i das três séries anteriores? Por exemplo: o elemento zero será a média dos três elementos zero das demais séries? Se for, basta fazer o seguinte:
[code]
for(int i = 0; i <tamanhoserie; i++)
{
doubleArray2011[i] = (doubleArray2008[i]+doubleArray2009[i]+doubleArray2010[i])/3;
}
[code]
Considerando que trata-se de uma média aritmética.
Não é isso? Bom, valeu a tentativa. Explique melhor como é para tentarmos resolver.
[code]
for(int i = 0; i <tamanhoserie; i++)
{
doubleArray2011[i] = (doubleArray2008[i]+doubleArray2009[i]+doubleArray2010[i])/3;
}
[code]
Considerando que trata-se de uma média aritmética.
Não é isso? Bom, valeu a tentativa. Explique melhor como é para tentarmos resolver.
GOSTEI 0
Pjava
26/04/2012
chartSeries5.SetValues(bl.doubleArrayMetaAprovacao1);//Nesse tipo de chamada, não tem opção Average(). Na classe de carga eu carrego os valores e retiro as médias, agora necessito criar o gráfico(uma linha) dessa média. Por propriedade não dá, porque ela só carrega um valor. Teria que ser outro vetor do mesmo tamanho, que carregaria em cada posição o valor da média, mas eu fiz assim e deu erro.
public double arrayMedia[];
public double arrayMediaFinal[];
public double arrayValores1[];
public double arrayValores1[];
.....
arrayMedia= new double[tamanhoserie];
arrayValores1 = new double[tamanhoserie];
arrayValores2 = new double[tamanhoserie];
arrayMediaFinal = new double[tamanhoserie];
for (int i = 0; i < tamanhoserie; i++){
arrayValores1[i] = random.Next(100);
arrayValores2[i] = random.Next(100);
arrayMedia[i] = arraValores1[i] + arrayValores2[i];
}
Aqui deveria criar outro vetor e passar os valores médios de arrayMeta para ele.Tipo
arrayMediaFinal = arrayMedia.average(); // Isso aqui está errado. Como eu passo os valores médios para o vetor média final e poder chamá-lo na minha classe de chamada?
public double arrayMedia[];
public double arrayMediaFinal[];
public double arrayValores1[];
public double arrayValores1[];
.....
arrayMedia= new double[tamanhoserie];
arrayValores1 = new double[tamanhoserie];
arrayValores2 = new double[tamanhoserie];
arrayMediaFinal = new double[tamanhoserie];
for (int i = 0; i < tamanhoserie; i++){
arrayValores1[i] = random.Next(100);
arrayValores2[i] = random.Next(100);
arrayMedia[i] = arraValores1[i] + arrayValores2[i];
}
Aqui deveria criar outro vetor e passar os valores médios de arrayMeta para ele.Tipo
arrayMediaFinal = arrayMedia.average(); // Isso aqui está errado. Como eu passo os valores médios para o vetor média final e poder chamá-lo na minha classe de chamada?
GOSTEI 0
Joel Rodrigues
26/04/2012
Você precisa passar item a item, afinal trata-se de um vetor.
Exemplo:
for(int i = 0; i <tamanhoserie; i++)
{
doubleArray2011[i] = (doubleArray2008[i]+doubleArray2009[i]+doubleArray2010[i])/3;
}
Exemplo:
for(int i = 0; i <tamanhoserie; i++)
{
doubleArray2011[i] = (doubleArray2008[i]+doubleArray2009[i]+doubleArray2010[i])/3;
}
GOSTEI 0
Pjava
26/04/2012
Resolvi. Faltou o For. Veja como eu fiz:
for (int i = 0; i < tamanhoSerie; i++)
{
doubleArrayCreditoMaster[i] = random.Next(50);
doubleArrayCreditoVisa[i] = random.Next(50);
doubleArrayMetaAprovacao1[i] = doubleArrayCreditoMaster[i] + doubleArrayCreditoVisa[i]; //random.Next(25);
doubleArrayDebitoMaster[i] = random.Next(50);
doubleArrayDebitoVisa[i] = random.Next(50);
doubleArrayMetaAprovacao2[i] = 25;// random.Next(25);
}
for (int i = 0; i < tamanhoSerie; i++)
{
doubleArrayMedia1[i] = doubleArrayMetaAprovacao1.Average();
}
for (int i = 0; i < tamanhoSerie; i++)
{
doubleArrayCreditoMaster[i] = random.Next(50);
doubleArrayCreditoVisa[i] = random.Next(50);
doubleArrayMetaAprovacao1[i] = doubleArrayCreditoMaster[i] + doubleArrayCreditoVisa[i]; //random.Next(25);
doubleArrayDebitoMaster[i] = random.Next(50);
doubleArrayDebitoVisa[i] = random.Next(50);
doubleArrayMetaAprovacao2[i] = 25;// random.Next(25);
}
for (int i = 0; i < tamanhoSerie; i++)
{
doubleArrayMedia1[i] = doubleArrayMetaAprovacao1.Average();
}
GOSTEI 0
Joel Rodrigues
26/04/2012
Beleza, então eu não tinha entendido a questão.
GOSTEI 0
Pjava
26/04/2012
Tópico resolvido
GOSTEI 0