
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.08.2006, 06:02:27
|
|||
|---|---|---|---|
|
|||
Поиск приближенного значения |
|||
|
#18+
в таблице необходимо найти приближенное значение "с" по заданным значениям "a" и "b". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.08.2006, 19:04:41
|
|||
|---|---|---|---|
Поиск приближенного значения |
|||
|
#18+
Можно с помощью формул (=Тенденция) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.08.2006, 20:58:42
|
|||
|---|---|---|---|
|
|||
Поиск приближенного значения |
|||
|
#18+
Спасибо за совет. функция "тенденция" возвращает по линейному закону. а возможно ли из данного диапозона ячеек соответствующим "а" и "b" методом интерполяции найти значение "с". соответственно для значений "а" и "b" не попадающих в список, расчет производиться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.08.2006, 22:04:07
|
|||
|---|---|---|---|
Поиск приближенного значения |
|||
|
#18+
В Вашем примере линейная зависимость, формула "тенденция" даст абсолютно правильное значение. Если в рабочем задании не так и Вы хотите Интерполировать, то вопросы: 1. по скольким точкам? 2. узлы равномерно расположены? 3. каким методом? Вообщем читайте учебник математики, пишите алгоритм, делайте функцию на VBA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.08.2006, 22:22:35
|
|||
|---|---|---|---|
|
|||
Поиск приближенного значения |
|||
|
#18+
Не могу понять как заполнить ячейки, выделенные красным цветом (то есть один раз я могу подставить значение "а" и "b";а для других значений приходиться создавать новую таблицу) в vba никогда ничего не создавал.=( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.08.2006, 22:23:46
|
|||
|---|---|---|---|
|
|||
Поиск приближенного значения |
|||
|
#18+
файлик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.08.2006, 21:56:27
|
|||
|---|---|---|---|
Поиск приближенного значения |
|||
|
#18+
Посмотри, что получилось при использовании самого простого алгоритма (по трём точкам) при использовании формул. Конечно их надо бы упростить, например, применив именованые формулы и массивы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.08.2006, 23:19:12
|
|||
|---|---|---|---|
|
|||
Поиск приближенного значения |
|||
|
#18+
to Дмит спасибо, посмотрел. но для граничных "a" и "b" не подходит. вот нашел еще кое что похожее: Function ДВИНТ(Массив_данных, Аргумент_по_вертикали, Аргумент_по_горизонтали) ' Двойная интерполяция таблицы, занесенной в Рабочую Книгу ' (первые строка и столбец выделенного массива данных содержат аргументы ' табулированной функции в возрастающем свержу вниз и слева направо порядке; ' верхний левый элемент - нуль Число_строк = Массив_данных.Rows.Count Число_столбцов = Массив_данных.Columns.Count Dim Массив() ReDim Массив(1 To Число_строк, 1 To Число_столбцов) For i = 1 To Число_строк For j = 1 To Число_столбцов Массив(i, j) = WorksheetFunction.Index(Массив_данных, i, j) Next j Next i i = 1 j = 1 Do x1 = Массив(i, 1) x2 = Массив(i + 1, 1) i = i + 1 Loop Until Аргумент_по_вертикали >= x1 And Аргумент_по_вертикали <= x2 Do y1 = Массив(1, j) y2 = Массив(1, j + 1) j = j + 1 Loop Until Аргумент_по_горизонтали >= y1 And Аргумент_по_горизонтали <= y2 i = i - 1 j = j - 1 a1 = Массив(i, j) a2 = Массив(i, j + 1) a3 = Массив(i + 1, j) a4 = Массив(i + 1, j + 1) res1 = a1 + (a3 - a1) * (Аргумент_по_вертикали - x1) / (x2 - x1) res2 = a2 + (a4 - a2) * (Аргумент_по_вертикали - x1) / (x2 - x1) ДВИНТ = res1 + (res2 - res1) * (Аргумент_по_горизонтали - y1) / (y2 - y1) End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&mobile=1&tid=2184390]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 362ms |

| 0 / 0 |
