Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Табулирование функции
Табулирование функции одной переменной
Постановка задачи. На отрезке [a,b] с шагом h протабулировать функцию f(x)=x2+Ln|x| и вывести на печать значения этой функции.
Технология выполнения задания:
Для решения задачи в области определения функции вводится сетка совокупность точек {x0,x1,x2, …, xi}, где x0 = а, x1= x0+h, …, xi = xi-1+h, xn = b.
Тогда задача сводится к вычислению функции f в точках xi, то есть нужно вычислить f(x0), f(x1), …, f(xi), f(xn).
I вариант
1. Введем обозначения:
хn, xk границы отрезка;
h шаг;
х точка;
f значение функции в точке.
2.Набрать в стандартном модуле проекта следующую пользовательскую процедуру, используя цикл For:
Public Sub primer1()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim h As Single
Dim f As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
h = InputBox("h=", h)
k = 1
For x = xn To xk Step h
x = Format(x, "##.##")
f = x ^ 2 + Log(Abs(x))
f = Format(f, "##.####")
Cells(k, 1).Value = x
Cells(k, 2).Value = f
k = k + 1
Next x
End Sub
II вариант
1. Введем обозначения:
хn, xk границы отрезка;
h шаг;
х точка;
f значение функции в точке .
2.Набрать в стандартном модуле проекта следующую пользовательскую процедуру, используя итерационный цикл:
Sub primer2()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim f As Single
Dim h As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
h = InputBox("h=", h)
x = xn
k = 1
Do
Cells(k, 1).Value = x
f = x ^ 2 + Log(Abs(x))
Cells(k, 2).Value = f
x = x + h
k = k + 1
Loop While x <= xk
End Sub
Табулирование функции двух переменных (вложенные циклы)
Постановка задачи. На интервале xn≤x≤xk с шагом Δх, для каждого у из интервала уn≤y≤yk с шагом Δу вычислить значение функции z=x2+ln|y|.
Технология выполнения задания:
Для решения задачи в области определения функции вводится разностная сетка {хi, yi}, где x0 = xn, x1 = x0+hx, …, xi = xi-1+hx, …, xn=xk; y0 = yn, y1 = y0+hy, …, yj = yj-1+hy, …, ym=yk.
- количество узлов сетки по оси х,
- количество узлов сетки по оси y.
Тогда задача сводится к вычислению функции z в точках xi и yj, то есть z(xi,yj), то есть z(xi,yj)=x2+ln|y|, где i=1,2,… n, j=1,2, … m.
I вариант:
1. Введем обозначения:
х,y координаты узла сетки;
f значение функции в нем;
хn, xk,yn,yk границы отрезка;
hх,hy шаги сетки.
2.Набрать в стандартном модуле проекта следующую пользовательскую процедуру, используя цикл For:
Sub primer3()
Dim x As Single
Dim y As Single
Dim xn As Single
Dim xk As Single
Dim yn As Single
Dim yk As Single
Dim f As Single
Dim hx As Single
Dim hy As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
yn = InputBox("yn=", yn)
yk = InputBox("yk=", yk)
hx = InputBox("hx=", hx)
hy = InputBox("hy=", hy)
k = 1
For y = yn To yk Step hy
For x = xn To xk Step hx
f = x ^ 2 + Log(Abs(y))
Cells(k, 1).Value = x
Cells(k, 2).Value = y
Cells(k, 3).Value = f
k = k + 1
Next x
Next y
End Sub
II вариант
1. Введем обозначения:
х,y координаты узла сетки;
f значение функции в нем;
хn, xk,yn,yk границы отрезка;
hх,hy шаги сетки.
2. Набрать в стандартном модуле проекта следующую пользовательскую процедуру, используя итерационный цикл
Sub primer4()
Dim x As Single
Dim y As Single
Dim xn As Single
Dim xk As Single
Dim yn As Single
Dim yk As Single
Dim f As Single
Dim hx As Single
Dim hy As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
yn = InputBox("yn=", yn)
yk = InputBox("yk=", yk)
hx = InputBox("hx=", hx)
hy = InputBox("hy=", hy)
i = 1
y = yn
Do
x = xn
Do While x <= xk
f = x ^ 2 + Log(Abs(y))
Cells(i, 1).Value = x
Cells(i, 2).Value = y
Cells(i, 3).Value = f
x = x + hx
i = i + 1
Loop
y = y + hy
Loop Until y > yk
End Sub
PAGE 2
yn
yk
k
xn
y
z
x
а
х1
b
f(a)
f(x1)
f(b)