Построить график функции в 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д