Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 202

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 205

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 314

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 454

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/auth.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web535/html/dokuwiki/inc/parserutils.php:202) in /home/www/web535/html/dokuwiki/inc/auth.php on line 236

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web535/html/dokuwiki/inc/parserutils.php:202) in /home/www/web535/html/dokuwiki/inc/actions.php on line 128
stud:mupad [wiki.BerndLux.de]
 

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/parser.php on line 66

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 292

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 22

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 44

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 208

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 236

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 290

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 323

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 560

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/xhtml.php on line 980

kurvend() in Mupad

Ein script für mupad um eine kurvendiskursion duchzuführen. Ich schrieb diese Funktion zu Zeit meines Abiturs um meine Rechenergebnisse zu verivizieren, wie es aber oft so ist, sind Feinheiten auf der strecke geblieben weil man ja schliesslich lernen muss. Später habe ich nicht weiter gemacht. Aus diesem Grund muss man die Regeln für hoch-, tief- und wendepunkte auswendig wissen, oder am Plot ablesen.

:stud:userinit.mu.txt Bitte die Endung .txt entfernen und nach ~/.mupad kopieren.

//   package("schule", quiet);
//   einlesen des "schule" paketes
//   ist doof, brauch ich dochnicht!
//      
//   Discription : ein script für mupad, um Funktionen zu diskutieren
//   Name        : Bernd Luxenburger
//   Email       : bernd at berndlux dot de
//   Url         : http://berndlux.de
//   Lizens      : GPL
//   Kommentar   : Grundidee aus Linux Magazin-6/2002 (www.linux-magazin.de)
//                 Zusätze und Ergänzungen zum täglichen gebrauch von mir
   
   
//   Chagelog:
//   03.12.12
//    + Grundfunktionen
//    ~ erste versuche mit der Wendetangente
//   04.02.28 
//      totaler rewrite, jetzt mit schöner Ausgabe der Ergebnisse
//    + neue aufteilung
//    + punke als formel, und als float
//    + alles zusammengefasst, neues layout
//   04.02.29
//    + unterscheidet hoch oder tief punkte (extrema)
//    + 
   
//  dieser code steht unter der GPL, und ist frei!
    
  
 kurvend:=proc(f)
 begin
  // schaltet die schönschreibung an ;-)
  PRETTYPRINT := TRUE; 
   
  print(Unquoted,"Einfache Symetrie zur Y-Achse",bool(f(x)=f(-x)));
  print(Unquoted,"Punktsymetrie zum Ursprung: ",bool(f(x)=-f(-x)));
   
  print(Unquoted,"f(x) Faktoriesiert:");
  print();
  print(Unquoted,"f(x)= ", factor( f(x)));
  print();
   
   // Alle Ableitungen ####################################################
   print(Unquoted,"====================================================================");
   print(Unquoted,"Erste Ableitung:");
   print();
  Ableit1:=f'(x);
   print(Unquoted,"f'(x)=", Ableit1);
   print(Unquoted,"Vereinfacht:");
  print(Unquoted,"f'(x)=", factor(Ableit1));
   print();
   print(Unquoted,"--------------------------------------------------------------------");
   print(Unquoted,"Zweie Ableitung :");
   print();
  Ableit2:=f''(x);
  print(Unquoted,"f''(x)=",Ableit2);
   print(Unquoted,"Vereinfacht:");
  print(Unquoted,"f''(x)=", factor(Ableit2));
   print();
   print(Unquoted,"--------------------------------------------------------------------");
   print(Unquoted,"Dritte Ableitung:");
   print();
  Ableit3:=f'''(x);
   print(Unquoted,"Vereinfacht:");
  print(Unquoted,"f'''(x)=", factor(Ableit3));
   print();
   print(Unquoted,"####################################################################");
   // print(Unquoted,"---------------- Nullstellen f(x) ------------------------------");

  Nst:=solve(f(x)=0,x);
  print(Unquoted,"Nullstellen f(x)=",Nst);
   print();
   print(Unquoted,"float Werte");
  for i from 1 to nops(Nst) do
    print(Unquoted,"N(",float( op(Nst,i)),"| 0 )");
  end_for;
   print(Unquoted,"--------------------------------------------------------------------");
   print();
  Nst_Ableit1:=solve(f'(x)=0,x);
   print(Unquoted,"Extrema : ",Nst_Ableit1);
   print();
   print(Unquoted, "Punkte ausrechnen :");
  print(Unquoted,"f( f'(x)=0 )=",map(Nst_Ableit1,f));
   print();
   print(Unquoted, "Als float :");
  for i from 1 to nops(Nst_Ableit1) do
  print(); 
  print( op(Nst_Ableit1,i) );
  print();
  print( Ableit2(op(Nst_Ableit1,i)));
  print();
  print( float(Ableit2(op(Nst_Ableit1,i)))); 
 //   tmp:=Ableit2(op(Nst_Ableit1,i));
 //    if tmp > 0
 //     then 
  //      print(Unquoted,"Hochpunkt(",float(op(Nst_Ableit1,i)),"|",float( f(op(Nst_Ableit1,i) )),")");
  //    elif tmp < 0
  //      then
  //        print(Unquoted,"Tiefpunt(",float(op(Nst_Ableit1,i)),"|",float( f(op(Nst_Ableit1,i) )),")");
  //      else  
 //          print(Unquoted,"E(",float(op(Nst_Ableit1,i)),"|",float( f(op(Nst_Ableit1,i) )),")");
 //    end_if;
  
  
  
    //if Ableit1(op(Nst_Ableit1,i)) < 0 then
    // print(Unquoted,"Hochpunkt");
    //end_if;
    //if Ableit1(op(Nst_Ableit1,i)) > 0 then
    // print(Unquoted,"Tiefpunt");
    // end_if
    //else print(Extrema( | )
    print();
    print(Unquoted,"E(",float(op(Nst_Ableit1,i)),"|", float( f(op(Nst_Ableit1,i) )) ,")");
  end_for;
   //  ############################### bis hierhin überarbeitet 04.02.29 #######################
   print();
   print(Unquoted,"---------------------------------------------------------------------");
   
  print();
  print();
  print();
  
  // HK_Extrema:=map(Nst_Ableit2,f'');
  // print(Unquoted,"f''(",Nst_Ableit2,")=",HK_Extrema);
   
  Nst_Ableit2:=float(solve(f''(x)=0,x));
 print(Unquoted,"Nullstellen der 2. Ableitungsfunktion=",Nst_Ableit2);

  print();
  print(Unquoted, "Punkte ausrechnen :");
  print(Unquoted,"f(",Nst_Ableit1,")=", map(Nst_Ableit1,f));
  print();
  print();
  print(Unquoted,"==========================================================");

  print(Unquoted,"Dritte Ableitung:");
  Ableit3:=f'''(x);
  print(Unquoted,"f'''(x)=",Ableit3);


 // print(Unquoted,"Was passiert an den nullstellen der 2. Ableitung?");
 // print(Unquoted,"f'''(",Nst_Ableit2,")=",map(Nst_Ableit2,f'''));
 // wou war denn dasnoch gut ???

 // print(Unquoted,"------------- Wendetangente -----------------------------");
//    ######################### eine grosse baustelle ###################################
    // xKoordinate:=Nst_Ableit2;
   // Wendetangente:=subs(f, x = xKoordinate) + subs(f', x = xKoordinate) * (x - xKoordinate);

   //  tw(wx):=
   print(Unquoted,"Wendetangente : tw(x)=",tw);
   print();
   // Wendetangente multiplizieren Wendetangente , um die gewohnte Geradengleichung zu erhalten
   Wendetangente:=collect(Wendetangente, x);
   print(Unquoted,"t(x)=",Wendetangente);

   // und den graph zeichnen
  plotfunc2d(f(x),f'(x),f''(x),f'''(x),TitlePosition = [1, 1],x=-20..20,y=-20..20);
  print(Unquoted,"plotfunc2d(f(x),f'(x),f''(x),f'''(x),TitlePosition = [1, 1],x=-20..20,y=-20..20);");
 // dran denken: ich will die rasterung noch feiner machen option "ticker"?
 end_proc:
 
stud/mupad.txt · Zuletzt geändert: 2006/07/12 22:10 von bernd
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki