Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое

Автор Alexander Kirdyashev, 06.09.2017, 10:43

« назад - далее »

Alexander Kirdyashev

Необходима помощь в одном моменте с Solver в VBA.
Имеется цикл в программе, результатом которого является вызов Solver'а для поиска решений с условиями.
addr_c = opened.Sheets("Decl.coeff").Cells(4, b).Address
        addr_cc = opened.Sheets("Decl.coeff").Cells(3, b).Address
        SolverLoad (Decl.coeff!A10)
        SolverOk SetCell:=addr_c, MaxMinVal:=3, ValueOf:=0, ByChange:=addr_cc
        x1 = "1"
        x2 = "0"
        SolverAdd CellRef:=addr_cc, Relation:=3, FormulaText:=x2
        SolverAdd CellRef:=addr_cc, Relation:=1, FormulaText:=x1
        SolverSolve True
        SolverReset


Программа ищет ответ на уравнение вида: qt=qi/(1+b*t*Di)^(1/b), где Di является изменяемым числом и лежит между 0 и 1.

Проблема заключается в следующем. Программа при b=1 отлично находит Di в заданных пределах, а при b=0.7, к примеру, выдает отрицательно значение Di, т.е. не выполняет условия. Не могу разобраться в чем проблема, потому что, если сделать поиск решения вручную, то решение будет верным.

KennethSaf

Спам