Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
1

Построение графика произвольной функции с осями, метками, подбором масштаба

25.05.2012, 10:11. Показов 6547. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Судари, может у кого есть библиотека или сам писал и не жалко поделиться.
Нужно построение графика произвольной функции с осями, метками, подбором масштаба и значений, перерисовкой при сворачивании и перемещении.
Нужно срочно
Миниатюры
Построение графика произвольной функции с осями, метками, подбором масштаба  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 10:11
Ответы с готовыми решениями:

Построение графика произвольной функции
Построение графика произвольной функции. Поддержка тригонометрических функций. Может у кого-то...

Построение графика с тремя и более осями Y
(извиняюсь, не нашел более подходящего раздела для данного вопроса). Здравствуйте, в ходе научной...

tchart построение графика с неподвижными осями
мне надо построить график так чтоб задавала значения параметрам и график строился. с помощью...

Точки пересечения графика функции с осями координат
Нужно найти точки пересечения графика функции с осями координат. Пишу y(x)=x+2atan(x)solve,x -> ...

4
Заблокирован
25.05.2012, 10:20 2
Цитата Сообщение от vstz Посмотреть сообщение
перерисовкой при сворачивании и перемещении.
Visual Basic
1
AutoRedraw=Tue
Или я не о том?

Добавлено через 4 минуты
Цитата Сообщение от Mikle
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'Строит график любой ф-ции 
 'Автоматически подбирает масштаб по X и Y 
 Option Explicit 
 
 Private Sub Form_Load() 
   Dim MinX As Double 
   Dim MaxX As Double 
   Dim MinY As Double 
   Dim MaxY As Double 
   Dim dx As Double 
   Dim x1 As Double 
   Dim x2 As Double 
   Dim y1 As Double 
   Dim y2 As Double 
 
   ScaleMode = vbPixels 
   BackColor = RGB(255, 255, 255) 
   Show 
 
   'Здесь задайте диапазон по X 
   MinX = -3 'минимум 
   MaxX = 3  'максимум 
   dx = (MaxX - MinX) / ScaleWidth 'Шаг X/Pixel 
   'Ищем минимальное и максимальное значения ф-ции в диапазоне 
   MinY = F(MinX) 
   MaxY = F(MinX) 
   For x1 = MinX To MaxX Step dx 
     If MinY > F(x1) Then MinY = F(x1) 
     If MaxY < F(x1) Then MaxY = F(x1) 
   Next x1 
   'Перенастраиваем ScaleMode окна 
   ScaleLeft = MinX 
   ScaleWidth = MaxX - MinX 
   ScaleTop = MaxY 
   ScaleHeight = MinY - MaxY 
   'Отображаем оси координат 
   Line (MinX, 0)-(MaxX, 0), RGB(0, 0, 0) 
   Line (0, MinY)-(0, MaxY), RGB(0, 0, 0) 
   'Строим график 
   For x1 = MinX To MaxX Step dx 
     x2 = x1 + dx 
     y1 = F(x1) 
     y2 = F(x2) 
     Line (x1, y1)-(x2, y2), RGB(0, 0, 255) 
   Next x1 
 End Sub 
 
 'Задайте здесь свою ф-цию 
 Private Function F(ByVal x As Double) As Double 
   F = 1 / (x ^ 2 + 2 * x + 2) - 0.25 
 End Function
Правда без меток
0
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
25.05.2012, 10:42  [ТС] 3
Апострофф, о том.
Писать начал, но чтоб учесть все нюансы нужно оч долго сидеть и проверять.
Поэтому и интересуюсь - мож есть готовое.

Добавлено через 21 минуту
Ладно более конкретная задача.
x1 = -0.1
x2 = 2.7
dx = 2.8
примем количество шагов (меток) 30
шаг напрашивается 0.1

Для
x1 = 370
x2 = 1000
dx = 700
при 30 получим шаг 21
для нормального восприятия взял бы 25 или 20 и изменить количество шагов на 32

Соответственно нужна функция которая будет адекватно подбирать шаг и его количество.
0
Заблокирован
25.05.2012, 11:34 4
Процедура изменяет min, max и задаёт s (шаг). n - примерное к-во шагов.
Возвращаемый s (шаг) - целое от 1 до 9 умноженное на 10 в целой степени.
Все параметры, кроме n, д.б. переменными в момент вызова, чтобы результат можно было прочитать-
Visual Basic
1
2
3
4
5
6
7
8
Sub qqq(min#, max#, n%, s#)
Dim k%
s = (max - min) / n
k = Int(Log(s) / Log(10#))
s = Int(s / 10 ^ k) * 10 ^ k
min = Int(min / s) * s
max = (Int(max / s) + 1) * s ' + s
End Sub
Писал на скорую руку
1
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
25.05.2012, 13:22  [ТС] 5
Благодарю
еще добавить n = (max - min) / s
и все ok
0
25.05.2012, 13:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2012, 13:22
Помогаю со студенческими работами здесь

Найти точки пересечения с осями графика функции. Определить как измениться напряжение в элементе
Я новичек в маткаде, а нам в универе дали задания по нему, что то я смог сам решить, а два задания...

Построение произвольной функции
Как построить график исходя из произвольного введенного уравнения(!) пользователем, где две...

Построение графиков произвольной функции
Может у кого-нибудь есть такая программка на C# и не жалко поделиться? Ну уж о-о-очень нужно

Создание 3d графика произвольной функции двух переменных
Здравствуйте, есть пара вопросов, на которые я надеюсь тут найти ответы. Собственно говоря,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru