Funktionen#

Syntax#

def my_function(x, y, a = 1):
    """"
    Hilfetext
    """"
    z = 3*x + 5*sin(y) + a
    return z

Beispiel 1: Hello …!#

def my_hello(what):
    """
    returns the string "Hello" concatenated with the input string
    """
    text = "Hello, " + what + "!"
    return text
my_hello("world")
'Hello, world!'

Beispiel 2: Fahrzeug auf ebener Fahrbahn#

Wir verwenden mit dem Befehl linspace die Datenstruktur array, um die Strömungswiderstandskraft für unterschiedliche Geschwindigkeiten zu berechnen. Auf nicht ebener Strecke kommt die Gravitationskraft noch dazu.

Links:

import numpy as np
import matplotlib.pyplot as plt

Paramterwerte:

# Massse in kg
m = 110

# Erdbeschleunigung in m/s^2
g = 9.81

# Rollwiderstandsbeiwert 
cr = 0.0055

# Strömungswiderstandskoeffizient
cw = 0.076 
    
# Bezugsfläche in m^2
A = 0.41

# verschiedene Anströmgeschwindigkeiten in m/s
v = np.linspace(0, 20, num=20)

Strömungswiderstandkraft:

def F_Stroemung(cw, A, v, rho = 1.2041):
    """
    Strömungswiderstandskraft in Abhängigkeit von
    
      - Strömungswiderstandskoeffizient: cw 
      - Bezugsfläche: A in m^2
      - Anströmgeschwindigkeit: v in m/s 
      - Dichte: rho in kg/m^3, Default= 1.2041 (Luft)
            
    ist gegeben durch 
    
    F = cw*A*1/2*rho*v**2
    """
    
    F = cw*A*0.5*rho*v**2
    
    return F
F_S = F_Stroemung(cw, A, v, rho = 1.2)
F_S
array([0.        , 0.02071579, 0.08286316, 0.18644211, 0.33145263,
       0.51789474, 0.74576842, 1.01507368, 1.32581053, 1.67797895,
       2.07157895, 2.50661053, 2.98307368, 3.50096842, 4.06029474,
       4.66105263, 5.30324211, 5.98686316, 6.71191579, 7.4784    ])

Rollwiderstandskraft:

F_R = cr*m*g
F_R
5.93505
plt.figure(figsize=(5,3))
plt.plot(v, F_S, 'b', label='Strömung')
plt.hlines(F_R, min(v), max(v), color= 'r', label='Roll')
plt.xlabel('Geschwindigkeit [m/s]')
plt.ylabel('Strömungswiderstandskraft [N]')
plt.legend(loc='best')
plt.grid(True)
_images/Funktionen_14_0.png