|
|
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
в таблице необходимо найти приближенное значение "с" по заданным значениям "a" и "b". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 06:02:27 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
Можно с помощью формул (=Тенденция) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 19:04:41 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
Спасибо за совет. функция "тенденция" возвращает по линейному закону. а возможно ли из данного диапозона ячеек соответствующим "а" и "b" методом интерполяции найти значение "с". соответственно для значений "а" и "b" не попадающих в список, расчет производиться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 20:58:42 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
В Вашем примере линейная зависимость, формула "тенденция" даст абсолютно правильное значение. Если в рабочем задании не так и Вы хотите Интерполировать, то вопросы: 1. по скольким точкам? 2. узлы равномерно расположены? 3. каким методом? Вообщем читайте учебник математики, пишите алгоритм, делайте функцию на VBA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 22:04:07 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
Не могу понять как заполнить ячейки, выделенные красным цветом (то есть один раз я могу подставить значение "а" и "b";а для других значений приходиться создавать новую таблицу) в vba никогда ничего не создавал.=( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 22:22:35 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
файлик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 22:23:46 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#18+
Посмотри, что получилось при использовании самого простого алгоритма (по трём точкам) при использовании формул. Конечно их надо бы упростить, например, применив именованые формулы и массивы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 21:56:27 |
|
||
|
Поиск приближенного значения
|
|||
|---|---|---|---|
|
#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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2006, 23:19:12 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33930998&tid=2184390]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 332ms |

| 0 / 0 |
