Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2010, 09:42   #1
TERAB1T
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 11
По умолчанию Кратные интегралы методом Монте-Карло (php)

Есть программа, написанная на языке PHP.
PHP код:
<html> 
 <head> 
  <title>Двойной интеграл</title> 
 </head> 
 <body> 

 <?php
  define 
("pi"3.14false);
  
Error_Reporting(E_ALL & ~E_NOTICE);
  
$u=$_GET['u']; 
  
$v=$_GET['v']; 
  
$u1=$_GET['u1']; 
  
$v1=$_GET['v1']; 
  
$c=$_GET['c'];
  
$d=$_GET['d'];
  for (
$i=1$i<=$c$i++)
  {
    eval (
"\$a = $u;");
    eval (
"\$b = $v;"); 
    eval (
"\$a1 = $u1;");
    eval (
"\$b1 = $v1;");     
    
$k=$b-$a;
    
$k1=$b1-$a1;
    
$g=lcg_value();
    
$x=$a+$g*($b-$a);
    
$g=lcg_value();
    
$y=$a1+$g*($b1-$a1);
    eval (
"\$f = $d;");
    
$s=$s+$f;
  }
if (
$c!=0)
{
  
$z=(1/$c)*($k*$k1)*$s;
  echo 
"$z";
}
else echo 
"Введите значения:";
 
?> 

  
 <form method="GET" action="2.php">
 Введите нижнюю границу интегрирования (x): <input type="text" name="u"><br/> 
 Введите верхнюю границу интегрирования (x): <input type="text" name="v"><br/> 
 Введите нижнюю границу интегрирования (y): <input type="text" name="u1"><br/> 
 Введите верхнюю границу интегрирования (y): <input type="text" name="v1"><br/> 
 Введите количество случайных значений: <input type="text" name="c"><br/> 
 Введите функцию: <input type="text" name="d"><br/> 
    <input type=submit value="Посчитать"> 
 </form>   
   
Перед переменной всегда ставить знак <b>"$"</b>, например, выражение <b>x+2y</b> должно выглядеть, как <b>$x+2*$y</b><br/> 
Переменные в двойном интеграле записывать только как x (первая переменная) и у (вторая переменная) (не использовать другие буквы).<br/> 
<b>*</b> - умножение<br/> 
<b>/</b> - деление<br/> 
<b>-</b> - вычитание<br/> 
<b>+</b> - сложение<br/> 
<b>acos( )</b> - арккосинус.<br/> 
<b>asin( )</b> - арксинус.<br/> 
<b>atan( )</b> - арктангенс.<br/> 
<b>cos( )</b> - косинус.<br/> 
<b>sin( )</b> - синус. <br/> 
<b>tan( )</b> - тангенс. <br/> 
<b>exp( )</b> - экспонента числа. <br/> 
<b>log( )</b> - натуральный логарифм. <br/> 
<b>log10( )</b> - десятичный логарифм. <br/> 
<b>pi</b> - приближенное значение числа ПИ. <br/> 
<b>pow(<основание>, <показатель степени> )</b> - возведение в степень. Например, 3^2=<b>pow(3, 2)</b>=9<br/> 
<b>sqrt( )</b> - квадратный корень числа. <br/> 
 </body> 
</html>
Но решает она интегралы только с четко заданными границами. С помощью этой программы нужно также высчитывать и такие интегралы (см. вложение) без лишних действий вне проги. Для этого надо реализовать методы определения границ. Что можете подсказать по этому поводу?
Изображения
Тип файла: png 55594427.png (31.6 Кб, 64 просмотров)
TERAB1T вне форума Ответить с цитированием
Старый 24.05.2010, 11:45   #2
TERAB1T
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 11
Печаль

неужто никто не знает даже приблизительно, как это реализовать?
TERAB1T вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интегралы и метод монте-карло byte916 Помощь студентам 2 19.01.2010 16:13
методом монте-карло Uskoff Microsoft Office Excel 1 15.01.2010 14:27
Найти интеграл методом Монте-карло ___LORD___ Общие вопросы C/C++ 2 13.05.2009 21:24
Помогите с методом Монте-Карло!!! Byanka Помощь студентам 2 09.02.2009 20:18