рдорддрд▓рд╛рдм рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдЕрдиреБрдХреВрд▓рди: рдиреЗрд╕реНрдЯреЗрдб рдФрд░ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди

рд╢реБрдн рджреЛрдкрд╣рд░
рдореИрдВ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдорддрд▓рд╛рдм рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЙрдкрдХрд░рдг рд╣реИред MatLab рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд (рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреНрдпреВрдирддрдо рдорд╛рдирджрдВрдб рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЕрдиреБрдХреВрд▓рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЙрджреНрджреЗрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЧрддрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдорддрд▓рд╛рдм рдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЯреВрд▓ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдХреЛрдб рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдПрдХ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛, рдЙрд╕ рдкрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЕрдирд╛рдо рдХрд╛рд░реНрдп рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЗрди рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╕рдорд╕реНрдпрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рд╡рд┐рд╡рд░рдг

рдореИрдВрдиреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛрдЪрд╛ рдерд╛, рдореИрдВрдиреЗ рдХреБрдЫ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЪреБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХрд┐рдиреЗрдореЗрдЯрд┐рдХрд▓реА рдирд┐рд░рд░реНрдердХ рдореИрдирд┐рдкреБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЦреЛрдЬрдирд╛, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рдирд╛, рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рд╛рд░ рд╕реЗ рджреВрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ, рд▓реЗрдХрд┐рди рдорд┐рд╕рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рддреЛ, рдкреИрд░рд╛рдореАрдЯрд░ a рдФрд░ b рджрд┐рдП рдЧрдП рд╣реИрдВ ред рдХрд╕реМрдЯреА рдкрд░ рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛ [0; 1] рдореЗрдВ x рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
рдЫрд╡рд┐
рдЬрд╣рд╛рдБ рдЫрд╡рд┐ - рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рдирджрдВрдб рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдмреАрдЬ рдХреЛ z рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдкрд╣рд▓реЗ рдорд┐рд▓рд┐рдпрди рдЫрджреНрдо рдЖрдпрд╛рдореА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдпреЛрдЧ рдХрд╛ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдиреЗ рджреЗрдВред рд╣рдо рдПрдХ matlab рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдорд╛рдирджрдВрдб рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ:
function J = GetJ(a,b,x) randn('seed',a); phi_a=abs(sum(randn(1,1e6))); randn('seed',b); phi_b=abs(sum(randn(1,1e6))); J=-(phi_a*x^2+phi_b*sqrt(1-x^2)); end 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдПрдХ рдЛрдг рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдорд╛рди рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдзрд┐рдХрддрдо рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдиреБрдХреВрд▓рди рдиреНрдпреВрдирддрдо рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИред
рдЕрдм, рдП рдФрд░ рдмреА рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рд╣рдореЗрдВ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 a=121233; b=31235; fhnd_GetJ = @(x) GetJ(a,b,x); 

рдЕрдм рдЪрд░ fhnd_GetJ рдореЗрдВ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдмреА рдФрд░ рдмреА рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП GetJ(a,b, ) рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдиреНрдпреВрдирддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо 1 рдорд┐рд▓рд┐рдпрди рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде x рдХрд╛ рдЗрд╖реНрдЯрддрдо рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
 opt=optimset('TolX',1e-6); optimal_x=fminbnd(fhnd_GetJ,0,1,opt); 

рдлрд╝рдВрдХреНрд╢рди fminbnd(fun,x_min,x_max) рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕реНрдХреЗрд▓рд░ рддрд░реНрдХ рдХреЗ рд╕реНрдХреЗрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ [ x_min ; x_max ]ред рдпрд╣рд╛рдВ fun рдХреЛ рдлрдВрдХреНрд╢рди рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╕рдордп, GetJ рдлрд╝рдВрдХреНрд╢рди GetJ 12 рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ 'iter' рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ 'Display' рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдореЗрд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░, рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдФрд╕рддрди, 10 ms рд╣реИред

рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬрдм рднреА рд╣рдо GetJ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ GetJ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд░реНрде phi_a рдФрд░ phi_b рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ x рдХреА рднрд┐рдиреНрдирддрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ a рдФрд░ b рдХреЗ рджрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдпрд╣рд╛рдВ рдХреИрд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдЙрджреНрджреЗрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЧрдгрдирд╛ рдХрд░рдирд╛ред рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рдХрд░реЗрдВ
 function J = GetJ2(phi_a,phi_b,x) J=-(phi_a*x^2+phi_b*sqrt(1-x^2)); end 

рдФрд░ рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ:
 randn('seed',a); phi_a=abs(sum(randn(1,1e6))); randn('seed',b); phi_b=abs(sum(randn(1,1e6))); fhnd_GetJ2 = @(x) GetJ2(phi_a,phi_b,x); optimal_x=fminbnd(fhnd_GetJ2,0,1,opt); 

рдмреЗрд╢рдХ, рдпрд╣ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдФрд╕рддрди 0.8 рдПрдордПрд╕ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдХреЛрдб рдЧрд┐рд░рд╛рд╡рдЯ рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреА рдЕрдЦрдВрдбрддрд╛ phi_a - phi_a рдФрд░ phi_b рдХреА рдЧрдгрдирд╛ рдХрд╛ рдХреЛрдИ рд╕реНрд╡рддрдВрддреНрд░ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИ рдФрд░, рдЧрдгрдирд╛ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ, J рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдХрд╣реАрдВ рдФрд░ рдЖрдкрдХреЛ рдЬреЗ (рдП, рдмреА, рдПрдХреНрд╕) рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рди рдХреЗрд╡рд▓ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдРрд╕рд╛ рд╣реА, рддреЛ GetJ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ phi_a рдФрд░ phi_b рдХреА рдЧрдгрдирд╛ рдХреЛ phi_a phi_b рдпрд╛ рдЕрд▓рдЧ рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗред рдЦреИрд░, рдмрд╕ рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдореИрдЯрд▓реИрдм рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, GetJ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдБ:
 function J = GetJ3(a,b,x) randn('seed',a); phi_a=abs(sum(randn(1,1e6))); randn('seed',b); phi_b=abs(sum(randn(1,1e6))); J=nf_GetJ(x); function out_val = nf_GetJ(x) out_val=-(phi_a*x^2+phi_b*sqrt(1-x^2)); end end 

рдиреЗрд╕реНрдЯреЗрдб рдлрдВрдХреНрд╢рди nf_GetJ рдкреИрд░реЗрдВрдЯ рдлрдВрдХреНрд╢рди рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╕рднреА nf_GetJ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдЕрдм рддрдХ, рд╣рдореЗрдВ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ - рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдорд╛рди 10 рдПрдордПрд╕ред

рдФрд░ рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ matlab рдЕрдирд╛рдо рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдп рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░рд╛ GetJ рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬрдм рдЗрд╕ рд╣реИрдВрдбрд▓ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреИрд░реЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рджрд╛рдпрд░рд╛ рд░рд╣реЗрдЧрд╛! рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 function fhnd_J = GetJ4(a,b,x) randn('seed',a); phi_a=abs(sum(randn(1,1e6))); randn('seed',b); phi_b=abs(sum(randn(1,1e6))); fhnd_J=@(x) nf_GetJ(x); function out_val = nf_GetJ(x) out_val=-(phi_a*x^2+phi_b*sqrt(1-x^2)); end end 

рдЕрдм, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╣реИрдВрдбрд▓ рд▓реМрдЯрд╛ рд╣реБрдЖ рдЪрд░ fhnd_J рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЪрд░ phi_a рдФрд░ phi_b рдЧрдгрдирд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ a рдФрд░ b рдХреЗ рд▓рд┐рдП J рдХреЗ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реИрдВрдбрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░рд╛ рдЕрдиреБрдХреВрд▓рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 fhnd_GetJ4=GetJ4(a,b,x); optimal_x=fminbnd(fhnd_GetJ4,0,1,opt); 

рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди 0.8 рдПрдордПрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо
рдЬрдм GetJ2 рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЧрдгрдирд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╡рд╣реА рдЧрддрд┐ рдорд┐рд▓реА, рд▓реЗрдХрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрдЦрдВрдбрддрд╛ рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрд╛ред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрджрд┐ рдЖрдк рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлреНрд▓реИрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╣реИрдВрдбрд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/In199300/


All Articles