Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Ahoj potreboval bych udelat m.file s timhle obsahem:
úkolem je "metodou náhodné střelby" (střílíme cca 100x) hledat
náhodné body, pokud bude hodnota v nově vyhledaném bodě "menší" než
předchozí minimum, označíme bod novým minimem a tak postupujeme dál
tyto body vybíráme z definičního oboru x=(-Pi/2 .. Pi/2), y=(-Pi/2 .. Pi/2)
Fce zadaná na tomto definičním oboru je f(x,y) =
dále pro tento příklad obrázek funkce včetně vygenerovaných bodů tou metodou střelby.
za pomoc, navod nebo pripadne propracovani budu velice vdecny
diky za pomoc predem
Offline
tak nahodny generator na cisla z intervalu
muze vypadat jako
nahodne = @() pi*rand(1) - pi/2;
bude asi rozumne udelat si i funkci na tu funkci dvou promennych, treba jako
fce = @(x, y) cos(x^2 + y^2)/(x^2 + y^2);
pak bude treba v cyklu opakovat to, ze nahodne vygenerujeme bod pomoci generatoru nahodne(), spocitame pro tento bod funkcni hodnotu pomoci fce() a budeme ji porovnavat s nejakym minimem.
ok? nebo se mam vice rozepsat?
Offline
function [ ] = dlord( )
clc;
format long;
nejlepsiBod = generujBod;
min = dosadBodAVypoctiHodnotu(nejlepsiBod);
for i=1:1000
bod = generujBod();
hodnota = dosadBodAVypoctiHodnotu(bod);
if hodnota < min
min = hodnota;
nejlepsiBod = bod;
end
end
disp(nejlepsiBod);
disp(min);
function [ bod ] = generujBod
bod(1) = nahodne;
bod(2) = nahodne;
function [ hodnota ] = dosadBodAVypoctiHodnotu(bod)
hodnota = fce(bod);
function [ nahodneCislo ] = nahodne
generator = @() pi*rand(1) - pi/2;
nahodneCislo = generator();
function [ hodnota ] = fce(bod)
vypoctiHodnotu = @(x, y) cos(x^2 + y^2)/(x^2 + y^2);
hodnota = vypoctiHodnotu(bod(1), bod(2));rozhodl jsem se, ze to vyrobim cele a dam to sem, aby jsi se na to mohl kouknout. pokud mas dotazy, tak se klidne ptej.
Offline