Доброго времени суток
Интересует вот какой вопрос:
методом хорд я нахожу решение уравнения f(x) - C = 0 и строю его график. Делаю это в интервале от 5 до 40:
кратко код выглядит так. все работает, нареканий нет, свое дело делает. но кривая с шагом 0.25 в интервале от 5 до 40 не нужна. мельчение нужно на определенном интервале, где f(x) ведет себя плохо (это вызвано приближенностью формулы, к делу отношения не имеет). и вот как бы сделать так, чтобы с начала и, допустим, до Х=20 шаг был равен 1, а потом менялся на 0.1?
я пытался делать так:
Это не работало. Разбивать цикл на 2 - с 5 до 20 и с 20 до 40 тоже не хочется. гугл мне говорил, что это невозможно сделать, но, может быть, гуру знают больше гугла?)
Интересует вот какой вопрос:
методом хорд я нахожу решение уравнения f(x) - C = 0 и строю его график. Делаю это в интервале от 5 до 40:
| Код |
|---|
For X = 5 To 40 Step 0.25 Q_guess1 = 0.95 * Q_guess3 Q_guess2 = 0.87 * Q_guess3 A1 = f(x, Q_guess1) - C A2 = f(x, Q_guess2) - C Q_guess3 = Q_guess2 - A2 * (Q_guess2 - Q_guess1) / (A2 - A1) 'хорды A3 = f(x, Q_guess3) - C For i = 1 To 100 If Abs(A1) > Abs(A2) Then 'удаление лишнего начального приближения Q_guess1 = Q_guess3 A1 = A3 Else Q_guess2 = Q_guess3 A2 = A3 End If If Abs(Q_guess1 - Q_guess2) < 1 Or Q_guess1 < 0 Or Q_guess2 < 0 Then Exit For 'критерий останова End If Q_guess3 = Q_guess2 - A2 * (Q_guess2 - Q_guess1) / (A2 - A1) 'новое значение Q_guess3 A3 = f(x, Q_guess3) - C Next i Next X |
кратко код выглядит так. все работает, нареканий нет, свое дело делает. но кривая с шагом 0.25 в интервале от 5 до 40 не нужна. мельчение нужно на определенном интервале, где f(x) ведет себя плохо (это вызвано приближенностью формулы, к делу отношения не имеет). и вот как бы сделать так, чтобы с начала и, допустим, до Х=20 шаг был равен 1, а потом менялся на 0.1?
я пытался делать так:
| Код |
|---|
For X = 5 To 40 Step Step_123 .... If x>20 then Step_123 = .. |
Это не работало. Разбивать цикл на 2 - с 5 до 20 и с 20 до 40 тоже не хочется. гугл мне говорил, что это невозможно сделать, но, может быть, гуру знают больше гугла?)
Изменено: - 17.10.2013 22:54:58