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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 10:53   #1
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию Как задать график функции?

Код:
procedure TForm1.FormPaint(Sender: TObject);
var x0 ,y0, dx, dy, h, w, x, y, i : integer;
    dlx, dly : real;
begin
begin
  with Form1.Canvas do
  begin
  Font.Name:='Arial';
  Font.Size:=10;
  Font.Color:=clBlack;
  Font.Style:=[fsItalic, fsBold];
  Brush.Style:=bsClear;
  TextOut(250,20,'График функции');
  end;
end;
   begin
   //Шаг сетки(dlx,dlz); начало координат(x0,y0);
   //Шаг координатной сетки(dx,dy); размеры плоскости(w,h);
   x0:=22; y0:=480; dx:=20; dy:=20; h:=400; w:=600;
   dlx:=1; dly:=1;
     with  Form1.Canvas  do
     begin
        MoveTo(x0,y0);  LineTo(x0, y0-h);
        MoveTo(x0, y0);  LineTo(x0+w, y0);
        x:=x0+dx;  i:=1;
        repeat
            MoveTo(x, y0-3);  LineTo(x, y0+3);
            TextOut(x-3, y0+5, FloatToStr(dlx*i));
            Pen.Style:=psDot;
            MoveTo(x, y0-3);  LineTo(x, y0-h);
            Pen.Style:=psSolid;
            i:=i+1;  x:=x+dx
        until  x>x0+w;
        y:=y0-dy;   i:=1;
        repeat
            MoveTo(x0-3, y);  LineTo(x0+3, y);
            TextOut(x0-20, y-5, FloatToStr(dly*i));
            Pen.Style:=psDot;
            MoveTo(x0+3, y);  LineTo(x0+w, y);
            Pen.Style:=psSolid;     
            i:=i+1;   y:=y-dy
        until y<y0-h;

    end;
end;
end;


procedure TForm1.FormDblClick(Sender: TObject);
var  gr : array[1..30] of TPoint;
    x0, y0, dx, dy, i : integer;
begin
  x0:=22; y0:=480;  dx:=20; dy:=20;
  for  i:=1  to  30  do
    begin
       gr[i].x := x0+(i-1)*dx;
       gr[i].y :=   // Как задать функцию y=5*cos(x)*exp(-x/5)???
    end;
  Form1.Canvas.Pen.Width := 2;
  Form1.Canvas.Pen.Color := clRed;
  Form1.Canvas.Polyline(gr);
end;


end.
Может кто-нибудь знает как задать функцию?
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума Ответить с цитированием
Старый 27.10.2009, 11:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так а чем не устраивает:
Код:
  gr[i].y :=round(5*cos(x)*exp(-x/5));
?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2009, 11:13   #3
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Так а чем не устраивает:
Код:
  gr[i].y :=round(5*cos(x)*exp(-x/5));
?
В этом случае он не идентифицирует переменную Х, эх... голова уже болит от этой задачки.
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума Ответить с цитированием
Старый 27.10.2009, 11:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А подумать?
Код:
 gr[i].y :=round(5*cos(gr[i].x)*exp(-gr[i].x/5));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2009, 11:36   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

у мене ваша функция вот так выглядит...
Вложения
Тип файла: zip скрин.zip (86.6 Кб, 21 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.10.2009, 11:45   #6
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
у мене ваша функция вот так выглядит...
Весело, ну хоть так... у меня она почему-то выглядит вот так! http://file.qip.ru/file/105615954/28cb920/1_online.html
График стягивается к верхней границе... чтож такое черт возьми!
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума Ответить с цитированием
Старый 27.10.2009, 11:50   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

дык, один момент... вы с dy определились или у вас он не используется, если используется то как связан с формулой y:= y0+ {dy*(i-1)*}round(5*cos(gr[i].x*pi/180)*exp(-gr[i].x*pi/5/180))?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 27.10.2009 в 11:57. Причина: дык, ну и наплодили мессажей
raxp вне форума Ответить с цитированием
Старый 27.10.2009, 11:51   #8
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
че-т не видно вообще, де он?
Красная полоска у верхней рамки окна.

Цитата:
Сообщение от Stilet Посмотреть сообщение
А подумать?
Код:
 gr[i].y :=round(5*cos(gr[i].x)*exp(-gr[i].x/5));
Такой вариант тоже не подошел, а вы пробовали запускать этот код?
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!

Последний раз редактировалось Stilet; 28.10.2009 в 07:28.
Bilargo вне форума Ответить с цитированием
Старый 27.10.2009, 11:58   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

дык up#7...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.10.2009, 12:04   #10
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
дык up#7...
dy здесь не принципиально наверно применять, здесь dx играет точно такую же роль, как я понимаю. Или я уже просто запутался.
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
График функции balamut Общие вопросы .NET 18 22.04.2016 11:11
Как в функции задать два критерия mamayka Microsoft Office Excel 1 26.10.2009 18:51
Как нарисовать на Tchart график функции, заданной таблично(используя метод наименьших квадратов) Legion2008 Мультимедиа в Delphi 0 11.05.2009 16:00