Показать сообщение отдельно
  (#1 (permalink)) Старый
Саня_ Саня_ вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2012
По умолчанию Помогите перевести прогу с Pascal - 01.06.2012, 17:16

Ребят помогите пожалуйста переделать программу с паскал"я" на язык матлаб"а"...


вот собственно она!!!

******************

program MonteKarlo;
uses WinCrt,Strings;

{Расчет значения функции}
function F(x,y: real): real;
begin
F:= exp(x+y)+exp(x-y)*sin(x);
end;

{Подпрограма вычисления двойного интеграла}
function DInt(n: longint): real;
var
S, x, y, Ax, Ay, Bx, By: real;
i: longint;
begin
randomize;
Ax:= 0; Bx:= 4; Ay:= 1; By:=5;
S:=0;
for i:= 1 to n do begin
x:= Ax+random*(Bx-Ax);
y:= Ay+random*(By-Ay);
if ((x>=0) and (x<=4))and((y>=1) and (y<=5)) then S:= F(x,y)+S;
end;
DInt:= (Bx-Ax)*(By-Ay)*S/n;
end;

var
a: real;
n: longint;

BEGIN
StrCopy(WindowTitle, 'Программа вычисления двукратного интеграла методом Монте-Карло');
ClrScr;
WriteLn;
WriteLn(' 5 4');
WriteLn(' / / ');
WriteLn(' Интеграл | | (exp(x+y)+exp(x-y)*sin(x)dxdy');
WriteLn(' / / ');
WriteLn(' 1 0');
WriteLn;
WriteLn;
WriteLn;
Write(' Введите количество вычисляемых значений подынтегральной функции n = ');
ReadLn(n);
WriteLn;
WriteLn;
WriteLn(' Подожтите пожалуйста некоторое время, пока программа произведет расчеты...');
WriteLn;
WriteLn;
WriteLn(' Результаты расчета:');
WriteLn;
WriteLn(' Значение интеграла I = ',DInt(n):10:4);
ReadKey;
DoneWinCrt;
END.
Ответить с цитированием
Ads