Консультация № 200816
12.05.2021, 18:41
0.00 руб.
1 4 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Затабулировать функцию двух переменных:
Прикрепленные файлы:
Снимок экрана 2021-05-12 184105.png

Обсуждение

давно
Модератор
137394
1850
12.05.2021, 19:41
общий
12.05.2021, 22:12
это ответ
Вот решение без привлечения макросов:


После уточнения Вами вопроса я вынужден дополнить первоначальный ответ:
Код:
Sub TabFunc()

Const Rbegin = "B4"
Const xBegin = 0, xEnd = 1, xStep = 0.1
Const yBegin = 0, yEnd = 1, yStep = 0.1
Const argMax = 1

Dim Rxy, arg
Dim Nx, Ny, i, j, x
Nx = Round((xEnd - xBegin) / xStep + 1, 0)
Ny = Round((yEnd - yBegin) / yStep + 1, 0)

ReDim MasOut(Nx, Ny)

MasOut(0, 0) = ""
For i = 1 To Nx
MasOut(i, 0) = xBegin + xStep * (i - 1)
Next

For j = 1 To Ny
MasOut(0, j) = yBegin + yStep * (j - 1)
Next

For i = 1 To Nx
x = xBegin + xStep * (i - 1)
For j = 1 To Ny
arg = x ^ 2 + (yBegin + yStep * (j - 1)) ^ 2
If arg <= argMax Then MasOut(i, j) = Atn(arg / (Sqr(1 - arg ^ 2) + 0.000000000000001)) Else MasOut(i, j) = "?? ???."
Next
Next

Sheets.Add After:=Sheets(Sheets.Count)
Range(Rbegin + ":" + Range(Rbegin).Offset(Nx, Ny).Address) = MasOut

End Sub
Макрос создает в книге новый лист и на нём размещает массив с результатом табулирования функции.
Форматирование результатов не ставилось целью задания, поэтому макросом не делалось.
Прикрепленные файлы:
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
404319
21
12.05.2021, 19:48
общий
Адресаты:
Спасибо но нужно на языке VB в макросах прописать, буду очень благодарен, извините что не прописал сразу
давно
Модератор
137394
1850
12.05.2021, 19:53
общий
Адресаты:
Цитата: 23071996
но нужно на языке VB в макросах прописать
Я Вас не понимаю: что значит затабулировать? В каком виде представить результат? По любому будет использована функция arcsin (надеюсь, её не надо заново писать). ИМХО, и таблицу надо на рабочий лист выводить, что тогда в VBA делать?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
12.05.2021, 22:14
общий
Адресаты:
Я исправил ответ после того, как Вы уточнили вопрос.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа