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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2013, 00:25   #1
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию Chart. Получить прямую, а не кривую

Прошу помощи. Вывожу на график массив и нужно, чтобы прямые линии строились по посчитанным значениям.
Код:
for j:=0 to min(4,High(Mass)) do begin
for k := 0 to 33 do begin
  if InRange(Frequency[k], 5, FF) then
    Resistance[j,k] := 2*pi*Frequency[k]*Mass[j]
  else if InRange(Frequency[k], FF, fp) then
    Resistance[j,k] := (power(fp,3)*Me)/power(Frequency[k],2)
  else if InRange(Frequency[k], fp, 1.6*fp) then
    Resistance[j,k] := fp*Me*power(Z3[j],5*(log10(Frequency[k])-log10(fp)))
  else if InRange(Frequency[k], 1.6*fp, fgr) then
    Resistance[j,k] := Z1[j]*power(Z2[j]/Z1[j],log10(Frequency[k]/(1.6*fp))/log10(fgr/(1.6*fp)))
  else if InRange(Frequency[k], fgr, 10000) then
    Resistance[j,k] := 2.3*VibroNum[j]*hpl*hpl*power(Ep*Pp,1/2);
end;
end;
for k:=0 to 33 do begin
for j:=0 to min(4,High(Mass)) do begin
Calculation.Chart1.AddSeries(TLineSeries.Create(self));
Calculation.Chart1.Series[j].AddXY(Frequency[k],Resistance[j,k]);
Calculation.Chart1.LeftAxis.SetMinMax(Calculation.Chart1.Series[j].MinYValue-100,Calculation.Chart1.Series[j].MaxYValue+100);
Force[j,k]:=(VibrationsLevels[j,k]/(2*pi*Frequency[k]))*Resistance[j,k];
end;
end;
А выводит так.
Изображения
Тип файла: jpg graph.jpg (70.5 Кб, 62 просмотров)
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 29.04.2013, 07:56   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вопрос первый: почему Вы считаете, что график строится как-то не так?
s-andriano вне форума Ответить с цитированием
Старый 29.04.2013, 10:30   #3
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

Потому что по идее график должен строиться так. Как раз по этим формулам.
Изображения
Тип файла: jpg счяс.jpg (21.4 Кб, 54 просмотров)
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 29.04.2013, 12:51   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...а формулы-то где? Не те, что в коде в вашей интерпретации, а оригинальные.

К тому же, масштаб на последней картинке не виден по вертикали, возможно логарифмический. А ежели картинка с учебника, то она может быть идеализированной.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проекция точки на прямую AnDre_rus Общие вопросы C/C++ 4 25.08.2013 17:33
Работа на прямую с видеопамятью asmars Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 17 01.08.2011 16:05
Chart. Как получить индекс первой и последней видимой точки по оси Х Don Karleone Общие вопросы Delphi 0 30.03.2011 03:29
Интерполяция. Как получить гладкую кривую? Blade Свободное общение 3 18.02.2010 01:49
как получить доступ к кампьютеру который подключон к маршрутизатору, а не на прямую к интернету freest Работа с сетью в Delphi 0 19.01.2010 21:32