Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2013, 12:23   #1
Armat
 
Регистрация: 10.04.2013
Сообщений: 6
По умолчанию VtChart и Chartfx графики

у меня есть программа которая расчитывает функцию и выводит значения х и у в таблицу нужно построить графики с помощью VtChart и Chartfx

у меня есть пример программы с этими графиками но в ней несколько двумерных массивов и таблица заполняется произвольно, я путаюсь немогу понять помогите разобратся
пример :
Код:
float x[16][12];
float M[12],D[12],G[12];
//---------------------------------------------------------------------------

void __fastcall TForm1::Refresh()
{
  int i,j;
 for (i=0;i<16;i++)
  for (j=0;j<12;j++)
   {
    StringGrid1->RowHeights[i]=20;
    StringGrid1->ColWidths[j]=50;
    x[i][j]=1.5*random(213)/212;
    StringGrid1->Cells[j][i]=FloatToStrF(x[i][j],ffFixed,5,3);
   }



  Series1->Clear(); Series2->Clear(); Series3->Clear();
  Series4->Clear(); Series5->Clear(); Series6->Clear();
  Series7->Clear(); Series8->Clear(); Series9->Clear();
  Series10->Clear();Series11->Clear();Series12->Clear();
  Series13->Clear();

  Chartfx1->ThisSerie=0;
  Chartfx1->ThisColor=clRed;

 Chartfx1->OpenDataEx(COD_XVALUES,1,12);
 Chartfx1->OpenDataEx(COD_VALUES,1,12);

 for (j=0;j<12;j++)
  {
   for (i=0;i<16;i++)
   M[j]=M[j]+x[i][j];
   M[j]=M[j]/16;
   Series1->AddXY(j+1,M[j],"",clRed);
   Series2->AddXY(j+1,x[0][j],"",clBlue);
   Series3->AddXY(j+1,x[1][j],"",clBlue);
   Series4->AddXY(j+1,x[2][j],"",clBlue);
   Series5->AddXY(j+1,x[3][j],"",clBlue);
   Series6->AddXY(j+1,x[4][j],"",clBlue);
   Series7->AddXY(j+1,x[5][j],"",clBlue);
   Series8->AddXY(j+1,x[6][j],"",clBlue);
   Series9->AddXY(j+1,x[7][j],"",clBlue);
   Series10->AddXY(j+1,x[8][j],"",clBlue);
   Series11->AddXY(j+1,x[9][j],"",clBlue);
   Series12->AddXY(j+1,x[10][j],"",clBlue);
   Series13->AddXY(j+1,x[11][j],"",clBlue);

  }
   VtChart1->Column=1;


     for (j=0;j<12;j++)
     {
       for (i=0;i<16;i++)
         D[j]+=pow(x[i][j]-M[j],2);

       D[j]/=16; G[j]=sqrt(D[j]);

       Chartfx1->XValue[j]=j;
       Chartfx1->Value[j]=D[j];
       VtChart1->Row=j+1;
       VtChart1->Data=FloatToStr(G[j]*10);
     }

   Chartfx1->CloseData(COD_XVALUES);
   Chartfx1->CloseData(COD_VALUES);

}
Armat вне форума Ответить с цитированием
Старый 12.05.2013, 12:24   #2
Armat
 
Регистрация: 10.04.2013
Сообщений: 6
По умолчанию

моя программа

Код:
 
or( x=xn; x<=xk ; x=x+h)
{
 x = RoundTo( x, -2 );

 if (fabs(x)>t)
        {
  if (fabs(x-0.8)!=0)
  {
   if ((log10(fabs(x-0.8))+exp(x))>t)
   {
     if (fabs(sin(x))>t)
     {
       if (fabs(exp(-x)-(cos(x)/sin(x)))>t)
       {

         y[i]=(sqrt(log10(fabs(x-0.8))+exp(x)))/(exp(-x)-(cos(x)/sin(x)))+pow((exp(5)-1/x),1/3);



         yi=y[i];

         SGD1->Cells[1][iter+1]=FormatFloat("0.######",y[i]);
        }
       else SGD1->Cells[1][iter+1]="Деление на 0"; }
      else SGD1->Cells[1][iter+1]="Ctg не сущ"; }
     else SGD1->Cells[1][iter+1]="под корнем <0"; }
    else SGD1->Cells[1][iter+1]="log не сущ"; }
   else SGD1->Cells[1][iter+1]="Деление на 0";

   SGD1->Cells[0][iter+1]=FormatFloat("0.###",x);
   Chart1->Series[0]->AddXY(x,yi);


 iter++;
 i++;
 SGD1->RowCount=iter+1;

}
Armat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
chartfx xJohnx Общие вопросы Delphi 1 15.05.2011 12:48
Chartfx Valera Помощь студентам 0 14.04.2011 16:29
ChartFX для динамического построения графика функции Stufford Помощь студентам 0 12.02.2010 01:29
работа с ChartFX akzhank Общие вопросы Delphi 1 22.11.2008 19:41