![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 10.01.2011
Сообщений: 3
|
![]()
Тема: Пошук кореня функції f(x1,x2) методом Монте-Карло
Завдання: 1. Задана функція f(x1,x2). 2. Задані обмеження в вигляді круга радіуса R с координатами центра x1c, x2c. 3. Згенерувати дві послідовності координати {x1}, {x2} довжиною 300. 4. Відібрати з них лише ті точки, які належать заданому кругу. 5. Вся площа круга повинна бути покрита генерованими точками. 6. Визначити значення кореня функції, за критерієм |f(x1,x2)| <E. 7. Зберігати у масиві запису данні пошуку с полями номер точки пошуку і зазначення функції в цій точці. 8. В графічному режимі ввести графік пошуку по горизонтальній вісі номер точки, а по вертикальній значення функції. Помогите завтра нада сдать курсак ,а прогу которую я написал препод не принял |
![]() |
![]() |
![]() |
#2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
так выкладывайте то, что сами написали. Иначе тему закроют
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 10.01.2011
Сообщений: 3
|
![]()
program monte_karlo;
uses crt,graph; type result = record i: integer; res: real; end; var op: char; x1c,x2c,rc,i,n,m,gd,gm: integer; x1,x2,curr: array [1..300] of integer; res: array [1..300] of result; k1,k2,e,y: real; begin clrscr; writeln('Vvod funkcii y=k1*x1 operacia k2*x2:'); write('Operacia (+,-,:,*) = '); readln(op); write('Koeficient K1: '); readln(k1); write('Koeficient K2: '); readln(k2); writeln; writeln('Vvod funkcii y=',k1:1:3,'x1',op,k2:1:3,'x2'); writeln('Koordunatu centra kryga:'); write('Enter X1c: '); readln(x1c); write('Enter X2c: '); readln(x2c); write('Enter radiys Rc: '); readln(rc); write('E: '); readln(e); randomize; for i:=1 to 300 do begin x1[i]:=random(640); x2[i]:=random(480); end; n:=0; for i:=1 to 300 do if ((x1[i] >= x1c-rc) and (x1[i] <= x1c+rc)) and ((x2[i] >= x2c-rc) and (x2[i] <= x2c+rc)) then begin inc(n); curr[n]:=i; end; m:=0; for i:=1 to n do begin case op of '+': y:=k1*x1[curr[i]]+k2*x2[curr[i]]; '-': y:=k1*x1[curr[i]]-k2*x2[curr[i]]; ':': y:=k1*x1[curr[i]]/k2*x2[curr[i]]; '*': y:=k1*x1[curr[i]]*k2*x2[curr[i]]; end; if y < e then begin inc(m); res[m].i:=curr[i]; res[m].res:=y; end; end; readkey; gd:=Detect; InitGraph(gd,gm,''); Line(0, (GetMaxY div 2), GetMaxX, (GetMaxY div 2)); Line(20, 0, 20, GetMaxY); SetColor(green); for i:=1 to m-1 do begin MoveTo(res[i].i+20, (GetMaxY div 2)-round(res[i].res)); LineTo(res[i+1].i+20, (GetMaxY div 2)-round(res[i+1].res)); end; readkey; CloseGraph; end. Последний раз редактировалось Sasha124; 10.01.2011 в 23:05. |
![]() |
![]() |
![]() |
#4 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
вставьте код с помощью специального тега
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 10.01.2011
Сообщений: 3
|
![]()
Я не знаю как.
|
![]() |
![]() |
![]() |
#6 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
кнопка #
![]() |
![]() |
![]() |
![]() |
#7 |
Лжец и смутьян
Форумчанин
Регистрация: 03.04.2009
Сообщений: 194
|
![]()
При наборе сообщения либо вручную вводите тег [CODE][ /CODE], либо пользуетесь кнопкой
![]()
Помогли тебе - помоги другому.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача Коммивояжера. Метод Монте-Карло и метод приращений. [Паскаль] | U9110 | Помощь студентам | 4 | 06.04.2011 09:48 |
FreeBasic, задача Коммивояжера, метод Монте-Карло | Данте | Помощь студентам | 0 | 07.12.2010 23:59 |
Метод Монте-Карло.Освещение. Делфи,С++ | pavlucios | Помощь студентам | 0 | 22.09.2010 02:29 |
Метод Монте-Карло | LiptonICE | Помощь студентам | 6 | 07.05.2010 20:37 |
интегралы и метод монте-карло | byte916 | Помощь студентам | 2 | 19.01.2010 16:13 |