Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Ruby. Численные методы

Автор: morz 11.5.2007, 14:12

Подскажите с программой пожалуйста!
Вычислите методом Монте-Карло определённый интеграл от функции (2x-3)/(x^2+2) на отрезке [2;5]. Ответ округлите до 2 знаков после запятой.

Автор: AlexDemche 11.5.2007, 21:25

Ну хорошо, задача ясна. А подсказать-то что?

Автор: morz 12.5.2007, 11:00

ну значит я сделал вот так
include Math
def f(x)
return (2*x-3)/(x*x+2)
end
puts "Vvedite koli4estvo to4ek"
n=gets.to_i
h=0.29
a=2
b=5
S=(b-a)*h
ni=0
for i in 1..n
x=(b-a)*rand( )+a
y=n*rand( )
if f(x)>y then
ni+=1
end
def round_f(x,k)
return(x*10**k).round.to_f/10**k
end
end
puts "I=#{round_f(S,2)}"

По идее программа должна генерировать каждый раз разные ответы а она всё время выводит одно и то же, прошу посмотреть есть ли у меня ошибки.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)