Zurück (C) Christof Ermer, Regensburg
Gästebuch 
(public. sonst besser Email)  ChristofErmer@gmail.com



23.062019
03.08

MATHE Methoden.
spez. bei der "C" Programmierung.



Empfehlung:  
Vorlesungen zu Mathe Themen.  SEHR INTERESSANT !!
1.  auf deutsch WEITZ  --> Mathematiker in Hamburg  
       Youtube Kanal: https://www.youtube.com/channel/UCjTfChr0yyz4iZq0x12Q6xA
                                https://www.youtube.com/channel/UCjTfChr0yyz4iZq0x12Q6xA/videos

2.  3blue1brown :
        Youtube Kanal: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw 
    bsp https://www.youtube.com/watch?v=d-o3eB9sfls

https://arxiv.org/

Wichtig:
ALGEBRA REGELN --> pdf 
Algebra_Regeln.pdf


https://www.spektrum.de/news/atiyah-praesentiert-angeblichen-beweis-der-riemannschen-vermutung/1593390


Thema:
Notwendigkeit der Logarithmen als schulisches Lernziel:
Logarithmen.pdf
   06.05.2018
 ( Komplexe Zahlen würden auch nicht schaden



   Sammelsack Platz:
#define ROUND(x) ((static_cast<INT) (x+ 0.5))  oder
  #define ROUND(x) ((int) (x+ 0.5))
#define M_PI =   in <math.h>   falls der Compiler "C99" Standard hat.
#define M_E   2.7182818284590452354

sonst:
#define MY_PI
3.1415926

const PI_T    (4*atan(1.0))
const double M_PI = 4*atan(1.0);

    printf("PI=%f", M_PI);


A Hoch X :
 Nachbildung mit einfachen e-Funktionen: 
M_E = 2.7182818,      
Natürlicher Logarithmus   ln(x)   =  e^x
b=ln(a)
a=exp(b) 
        für a>0  exp(0)=1

ANSI_C:
zur Basis e
double log ( double  __x  ) 
zur Basis 10
double log10 ( double  __x  ) 

The function pow() returns the value of __x to the exponent __y
double pow ( double  __x,


double  __y  

)

The exp() function returns the exponential value of __x.
double exp ( double  __x  )

Ersetzt  (µController Speicherintensives) pow(x)
a^x= e^((ln a)*x)

return exp( log(a) * x);   // natürlicher Logarythmus

In ANSI-C bereits definiert:
#include <math.h>
#define     M_E   2.7182818284590452354
Merke: natürlicher Logarythmus in "C" = log(x) nicht log10(x)

 a^x= e^((ln dA)* dX)
als #define MAKRO
#define A_HOCH_X(DA,DX) (exp(log((double)(DA))* ((double)(DX))))
oder als Funktion:
// *********************************
double AhochX(double dA, double dX)
// *********************************
{
// a^x= e^((ln dA)* dX)
return exp( log(dA) * dX);       // nicht log10(double x)
};



Sigmoid ist "Smoothe" E-Funktion..   X-6..+6   und Y-->= 0..1
Anwendung: Wieche 0..1 Übergänge... dafür gibt es enormen Bedarf..  z.B. Sensorauswertungen etc.
Sigmoid(t) = 1/ 1+(e^-t)
kurz:
// *********************************
float Sigmoidfunction( float fXX)
// *********************************
{
return 1 / (1 +  exp( -1*(fXX) ) );
};

QuellFile für DEV_CPP : SigmoidFunction.zip


Siehe auch Ähnlichkeit zu der  Fermi Verteilung. Diese geht jedoch fallend:   
W(E)=1eE−ϵFkBT+1
Darin ist ϵF die Fermi-Energie und W(E) die Besetzungswahrscheinlichkeit.

E= XACh
    1/(e^0 +1
    bzw . 
    W(E) = 1 /  ( exp( E-µ/kbT ) +1)
    KbT  = Termische Energie
    Boltzmankonstante = kb = 8,6173303 (50) * 10^-5 eV/K


Was man in C auch immer braucht:
#include "pch.h"
#include <windows.h>
#include <iostream>
#include <limits>
#include <stdexcept>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <math.h>
#include <complex> // Wichig  ohne .h
#include "main.h"

using namespace std;
//GLOBAL
HWND hWnd;
HDC hDC;
hWnd = GetConsoleWindow();
if( hWnd != NULL ){ MoveWindow(hWnd ,200,10 ,WINX_WIDTH+100, WINY_WIDTH+60 ,TRUE); }
hDC = GetDC(hWnd); 

while (getchar() != 'x');
    system("pause");  
    ReleaseDC(hWnd, hDC);
    DeleteDC(hDC);

#define COULOUR_MAX_VAL    16777216UL
    SetPixel(hDC, C_Zeta.real() * VERGROESSERUNGSGFAKT + WINX_H, C_Zeta.imag() * VERGROESSERUNGSGFAKT + WINY_H, RGB(220, 220, 220));




#define gotoxy(x,y) printf("\033[%d;%dH", (x), (y))
//besser als #define gotoxy(x,y) printf("\033[%d;%dH", (x), (y))

// *********************************
void gotoxy(int x, int y)
// *********************************
{
    char essq[100];  // String variable to hold the escape sequence
    char xstr[100];  // Strings to hold the x and y coordinates
    char ystr[100];  // Escape sequences must be built with characters/
    //  ** Convert the screen coordinates to strings
    sprintf(xstr, "%d", x);
    sprintf(ystr, "%d", y);
    //   ** Build the escape sequence (vertical move)
    essq[0] = '\0';
    strcat(essq, "\033[");
    strcat(essq, ystr);
    // ** Described in man terminfo as vpa=\E[%p1%dd  ** Vertical position absolute
    strcat(essq, "d");
    //  ** Horizontal move  ** Horizontal position absolute 
    strcat(essq, "\033[");
    strcat(essq, xstr);
    // Described in man terminfo as hpa=\E[%p1%dG
    strcat(essq, "G"); //  ** Execute the escape sequence  ** This will move the cursor to x, y
    printf("%s", essq);
}
*/