Построить график функции в picturebox с возможностью изменения значений - VB
Формулировка задачи:
Помогите построить график функции(picturebox) . С возможностью изменения значений a, b, c, t (в поле textbox).
Координаты x и y заданы определённой функцией.
Не понимаю как сделать с помощью pset чтобы координаты x и y задавались функциями.
Решение задачи: «Построить график функции в picturebox с возможностью изменения значений»
textual
Листинг программы
- Sub Main()
- Dim X(1 To 1000) As Double ' массив для x
- Dim Y(1 To 1000) As Double ' массив для y
- a# = [C2] ' параметры кривой берем с
- b# = [C3] ' из соотв. ячеек
- c# = [C4] ' рабочего листа
- '::: Заполнение
- n% = 0
- For t# = -10 To 10 Step 0.1 ' цикл по t
- n% = n% + 1 ' номер точки
- X(n%) = a# * t# + b# * Sin(c# * t#) ' очередной х
- Y(n%) = a# - b# * Cos(c# * t#) ' очередной y
- Next t#
- '::: Приведение к равномерной шкале
- xmin# = X(1)
- xmax# = X(1)
- ' ищем минимум и максимум простым перебором
- ' в одном цикле
- For i% = 2 To n%
- If X(i%) > xmax# Then xmax# = X(i%)
- If X(i%) < xmin# Then xmin# = X(i%)
- Next i%
- dx# = (xmax# - xmin#) / 800 ' делим отрезок [xmin,xmax] на 800 точек
- j% = 0
- For xx# = xmin# To xmax# Step dx#
- ' переменная xx проходит от xmin до xmax с РАВНОМЕРНЫМ шагом
- For k% = 1 To n% - 1
- ' для очередной xx находим две соседние точки x[k] и x[k+1],
- ' между которыми находится xx
- If X(k%) <= xx# And X(k% + 1) >= xx# Then
- ' kk - угловой коэффициент прямой, соединяющей
- ' точки (x[k],y[k]) и (x[k+1],y[k+1])
- kk# = (Y(k% + 1) - Y(k%)) / (X(k% + 1) - X(k%))
- ' yy - значение, соответствующее точке xx
- yy# = Y(k%) + (xx# - X(k%)) * kk#
- ' заносим пару xx,yy на лист в область данных диаграммы
- j% = j% + 1
- Cells(j%, 28).Value = xx#
- Cells(j%, 29).Value = yy#
- Exit For ' обработали точку - выход из цикла
- End If
- Next k%
- Next xx#
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д