![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.07.2010
Сообщений: 44
|
![]()
Здравствуйте, форумчане. Мне нужно постоить график функции двух переменных. Пишу свою первую программу на Делфи. (Делфи изучаю по ходу работы.) Посоветуйте простой для новичка способ.
Есть вид функции, 20 пар значений переменных и экстремум. Понятно, что сначала нужно вычислить значения функции во всех точках. Потом.... Потом как быть? Интуиция подсказывает, что надо работать с таблицей. Такого я тоже пока не делала. Все вычисления я сделала в консольной программе. Как теперь быть? Переписывать программу или как-то по другому поступить? Нужен совет.
Say we can do it together
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
Накидал тебе простой примерчик построения графика функции.
1) Создаешь новый VCL проект в делфи. 2) На форму кидаешь Image со вкладки Additional и ставишь ему в инспекторе объектов свойство Align в alClient - растянется на всю форму он тогда. 3)Далее в секции private пишешь тоже самое, что и в моем коде. 4)Нажимаешь правой кнопкой между строками TForm1 = class(TForm) и end; и в меню выбираешь строку "Complene class at cursor" - делфи автоматически сформирует код для заполнения реализации наших процедуры и функции. 5) Вставляешь мой код реализации в соответствующие строки 6) Создаешь события для Form1 - OnCreate и OnResize и заносишь в них соответствующий код 7) Запускаешь проект и смотришь что получилось Пример привел как учебный, будут вопросы - спрашивай. Код:
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 23.09.2010 в 07:04. |
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Извините, я спросонья, а TChart чего вчера отменили?
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
не, не отменили, но я про него просто забыл, так как на turbo работаю и им не пользуюсь.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
![]() |
![]() |
![]() |
#5 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
![]()
Я конечно тоже спросонья (как всегда) но просили функцию 2-х переменных. А это значит будет плоскость. Если я правильно понял - отпишись. Помогу.
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки ![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.07.2010
Сообщений: 44
|
![]()
Функция от 2-х переменных z(x,y)- это пространство. Мне ведь по шагам всё разок пройтись надо, алгоритм написать для меня. Поошибаться и поработать над ошибками. Выполнить наконец его. Так, глядишь, и научусь. Как лучше писать в личку или на форум? У меня Аськи нет. Я беспокоюсь о том, что мне много спрашивать придется и не всегда по теме топика.
Say we can do it together
|
![]() |
![]() |
![]() |
#7 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
![]()
Заведи аську. Быстрее дело пойдет. моя - 299-491-377
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки ![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.07.2010
Сообщений: 44
|
![]()
Здравствуйте, форумчане. Хочу продолжить тему. Задачка моя была такая по данным таблицы определить вид аппроксимирующей эти данные функции, используя метод наименьших квадратов и построить её график для дальнейшей работы с ним (нужно будет сечь его плоскостями параллельными плоскости xOy и проецировать на эту плоскость линию пересечения). Таких поверхностей будет около 8 и в итоге на плоскости xOy должна появиться область компромиссных решений для нескольких критериев оптимизации z1, …. z8, т.е. фактически графическое решение системы неравенств. На рисунке - заштрихованная область. (Все вычисления и графики были сделаны мною в Экселе.)
Что мне за компонент в Делфи использовать? Советуют OpenGL. У меня и компонент скачан и книжка есть. Выскажите своё мнение, кто похожие задачи решал. Вот что я имею в качестве исходных данных для построения графика: - вид функции z =r1*x*x+r2*x*y+r3*y*y+r4*x+r5*y+r6* 1; - экстремум функции x_ext=11.974, y_ext=1627.766, z_ext=5695.909; - экспериментальные значения входных параметров и функции отклика в 20 опытах i x[i] y[i] z[i] 1 6 1350 5994,454 2 6 1400 5927,11 3 6 1500 5846,424 4 6 1550 5814,717 5 8 1350 5893,427 6 8 1400 5833,493 7 8 1500 5743,492 8 8 1550 5705,69 9 12 1350 5963,546 10 12 1400 5874,616 11 12 1500 5752,943 12 12 1550 5713,326 13 16 1350 6111,51 14 16 1400 6004,41 15 16 1500 5874,631 16 16 1550 5821,729 17 21 1350 6428,674 18 21 1400 6258 19 21 1500 6092,696 20 21 1550 6022,647
Say we can do it together
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
OpenGL - это не компонент. Это открытая графическая библиотека. Компоненты, возможно, решающие часть этих задач - SDL
Можно про них почитать на сайте и скачать компоненты Free версии и с ними поработать и выяснить подходят ли они для решения данной задачи. Вот сайт разработчиков. http://www.lohninger.com/sdlindex.html Также есть компоненты на основе библиотеки OpenGl - GLScene. А Можно просто подключить библиотеку OpenGL к проекту и писать самостоятельно, используя ее функциональность.
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 28.09.2010 в 03:38. |
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Я бы всетки отрисовывал эти функции в TChart и не морочил голову с OpenGL
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нахождение экстремума функции от двух переменных | dekameron | Помощь студентам | 3 | 26.05.2010 08:16 |
на чем в Delphi можно построить простой график от двух перменных в трехмерном пространстве | Rekky | Общие вопросы Delphi | 17 | 05.05.2010 18:04 |
График Функции Delphi | chezz | Помощь студентам | 8 | 11.04.2010 17:43 |
График функции (delphi 7) | Demav | Помощь студентам | 12 | 02.07.2009 08:43 |
Разработка программ с использованием функций. Табулирование функции одного и двух переменных | кася | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 07.05.2008 20:11 |