рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рджреЛрдиреЛрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирддрд╛рдПрдВ
x = ... рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ , рдЬрд╣рд╛рдВ рдЪрд░ рдмрд╛рдИрдВ рддрд░рдл рд╣реИ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджрд╛рдИрдВ рдУрд░ рдЪрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рдЗрд╕ рд╕реЗрдЯ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдХреЙрдореНрдкреИрдХреНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рдЪреАрдиреА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рдпреЗ рд▓рдЧрднрдЧ рд╕рдореАрдХрд░рдг рд╣реИрдВ, рдХреЗрд╡рд▓ рддреБрдЪреНрдЫ рд╣реИрдВред
рдЖрд▓рд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рджреЗрдЦрдиреЗ рдХреЛ рдорд┐рд▓рддреА рд╣реИрдВ:
fib = 1:1:(zipWith (+) fib (tail fib))
рдпрд╣рд╛рдБ рдлрд╝рд╛рдЗрдм рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рдпрд╛рдиреА рд╣рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рд╕рдореАрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдирдВрдд рдХреНрд░рдо рд╣реИред рдЪреВрдВрдХрд┐ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдВрдд рдЕрдиреБрдХреНрд░рдореЛрдВ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреА рд╣реИ, рд╣рд╛рд╕реНрдХреЗрд▓ рдЗрд╕ рд╕рдореАрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ (рдирд┐рд╢реНрдЪрд┐рдд-рдмрд┐рдВрджреБ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рдореАрдХрд░рдг рдкрде рдХреЗ рд╕рд╛рде рдкреНрд░реЛрд▓реЙрдЧ рдФрд░ рднреА рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзреЗрдп рд╕реЗрдЯ рдкрд░ рдПрдХ рд╕рдореАрдХрд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╛рди рдЪрд┐рд╣реНрди рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рд╕рдореАрдХрд░рдг рд▓рдЧрднрдЧ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИред
рд▓реЗрдХрд┐рди рдПрдХ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдореАрдХрд░рдг рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ - рдпрд╣
рдореЙрдбрд▓рд┐рдХрд╛ рд╣реИ ред
model Point Real x,y; equation end Point; model Line parameter Real len; Point p1,p2; equation len = (p1.x-p2.x)^2 + (p1.y-p2.y)^2; end Line;
рдпрд╣рд╛рдВ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рд╕рд┐рд░реЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓рдВрдмрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд▓рдВрдмрд╛рдИ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдореАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред
(рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрд░реЛрдд рдРрд╕реА рднрд╛рд╖рд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд░рдВрдЧреАрди html pygment рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред)
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╕рдореАрдХрд░рдгреЛрдВ рдХреЛ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
model Hand Point ph,pl; parameter Real l1,h1,l2,h2; Line ll1(len = l1),lh1(len = h1),ll2(len = l2),lh2(len = h2); Real arcl,arch; Point p; equation ll1.p1 = pl; lh1.p1 = ph; ll1.p2.x = pl.x + l1 * arcl; lh1.p2.x = ph.x + h1 * arch; ll1.p2 = ll2.p1; lh1.p2 = lh2.p1; p = ll2.p2; p = lh2.p2; end Hand;
рдпрд╣рд╛рдВ, рдПрдХ рдореИрдирд┐рдкреБрд▓реЗрдЯрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЪрд╛рд░ рд░реЗрд▓ рд╣реИрдВ рдЬреЛ рдЯрд┐рдХрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВ рдФрд░ рджреЛ рд╕рд░реНрд╡реЛ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдореЙрдбрд▓рд┐рдХрд╛ рдХреЛ рдЬрдЯрд┐рд▓, рд╡рд┐рд╖рдо рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕рд┐рджреНрдз
рд╡реБрд▓реНрдлрд░рд╛рдо , рдПрдХ рд╕реАрдПрдбреА рдирд┐рд░реНрдорд╛рддрд╛ ("рдбреНрд░рд╛рдЗрдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо" рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛)
рдХреИрдЯрд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╣реИ ред
OpenModelica рдЬреИрд╕реЗ рдореБрдлреНрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реИрдВред
рдЪреВрдВрдХрд┐ рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмреАрдЬреАрдп рд╕рдореАрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЙрдбрд▓рд┐рдХрд╛ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЛ рднреА рд╣рд▓ рдХрд░ рд╕рдХрддреА рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрднреА рддрдХ рдЖрдВрд╢рд┐рдХ рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкрд░рд┐рдорд┐рдд рддрддреНрд╡реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдФрд░ рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ
рдмрд╣реБрдд рд╣реА рдЬрдЯрд┐рд▓ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдореИрдХреЗрдирд┐рдХрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдПрдХ рдореЙрдбрд▓ рджреВрдВрдЧрд╛ - рдЧреЙрд╕рдЧрди:
model Gauss extends Modelica.Electrical.Analog.Interfaces.OnePort; Real x (start = -1); Real sp (start = 0); Real co; Real pw (start = 0); Real ke; Real se; Real pe; equation der(pw) = i*v; ke = sp^2/2; se = i^2/2; pe = pw - ke - se; co = (if abs(x) > 0.2 then (abs(x)*(x^(-5))/3.0) else (x/((0.2^5)*3.0))); der(sp) = -co * i; der(x) = sp; der(i) = v + (co * sp); end Gauss; model Main Modelica.Electrical.Analog.Basic.Ground g; Modelica.Electrical.Analog.Sources.ConstantVoltage ps; Modelica.Electrical.Analog.Basic.Resistor rps; Gauss gun; equation connect(ps.p, gp); connect(ps.p, gun.p); connect(ps.n, rps.p); connect(rps.n, gun.n); end Main;
рдпрд╣рд╛рдБ x рдкреНрд░рдХреНрд╖реЗрдкреНрдп рдХрд╛ рд╕рдордиреНрд╡рдп рд╣реИ, v рд╡реЛрд▓реНрдЯреЗрдЬ рд╣реИ, рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╣реВрдВред рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдХреБрд▓ рдКрд░реНрдЬрд╛ рдкреАрдИ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рдЗрд╕рдХрд╛ рдЧреНрд░рд╛рдл рдПрдХ рдХреНрд╖реИрддрд┐рдЬ рд░реЗрдЦрд╛ рд╣реЛрдЧреАред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЙрдбрд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдорд╛рдирдХреАрдХреГрдд рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рднреА рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ)ред рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд░рд╛рд╕рдд OOP рдореЗрдВ рдХрдИ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХрд▓ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ, рд╣реАрдЯ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ, рдпрд╛рдВрддреНрд░рд┐рдХреА рдФрд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреИрд╡ рд░рд╕рд╛рдпрди рдкрд░ рд╡реНрдпрд╛рдкрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред
рдореЙрдбрд▓рд┐рдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдореЙрдХ-рдЕрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЙрд╕реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИред