Επίλυση εξίσωσης
Προηγ | Κεφάλαιο 11. Κατάλογος συναρτήσεων της GEL | Επόμενο

## Επίλυση εξίσωσης

CubicFormula

      CubicFormula (p)

  Υπολογίζει τις ρίζες ενός κυβικού (βαθμού 3) πολυωνύμου χρησιμοποιώντας τον κυβικό τύπο. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή `4*x^3 + 2*x + 1` αντιστοιχεί στο διάνυσμα `[1,2,0,4]`. Επιστρέφει ένα διάνυσμα στήλης των τριών λύσεων. Η πρώτη λύση είναι πάντα η πραγματική καθώς μια κυβική έχει πάντα μια πραγματική λύση.

  See Planetmath, Mathworld, or Wikipedia for more information.

EulersMethod

      EulersMethod (f,x0,y0,x1,n)

  Use classical Euler's method to numerically solve y'=f(x,y) for initial `x0`, `y0` going to `x1` with `n` increments, returns `y` at `x1`. Unless you explicitly want to use Euler's method, you should really think about using RungeKutta for solving ODE.

  Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το `y` να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το `y0` μπορεί να είναι ένα διάνυσμα, οπότε το `f` πρέπει να πάρει έναν αριθμό `x` και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.

  See Mathworld or Wikipedia for more information.

EulersMethodFull

      EulersMethodFull (f,x0,y0,x1,n)

  Use classical Euler's method to numerically solve y'=f(x,y) for initial `x0`, `y0` going to `x1` with `n` increments, returns an `n+1` by 2 matrix with the `x` and `y` values. Unless you explicitly want to use Euler's method, you should really think about using RungeKuttaFull for solving ODE. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints.

  Example:

      genius> LinePlotClear();
      genius> line = EulersMethodFull(`(x,y)=y,0,1.0,3.0,50);
      genius> LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");

  Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το `y` να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το `y0` μπορεί να είναι ένα διάνυσμα, οπότε το `f` πρέπει να πάρει έναν αριθμό `x` και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.

  The output for a system is still a n by 2 matrix with the second entry being a vector. If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with ExpandMatrix, and pick out the right columns. Example:

      genius> LinePlotClear();
      genius> lines = EulersMethodFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,500);
      genius> lines = ExpandMatrix(lines);
      genius> firstline = lines@(,[1,2]);
      genius> secondline = lines@(,[1,3]);
      genius> LinePlotWindow = [0,10,-2,2];
      genius> LinePlotDrawLine(firstline,"color","blue","legend","First");
      genius> LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");

  See Mathworld or Wikipedia for more information.

  Version 1.0.10 onwards.

FindRootBisection

      FindRootBisection (f,a,b,TOL,N)

  Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο διχοτόμησης. Τα `a` και `b` είναι το αρχικό διάστημα πρόβλεψης, τα `f(a)` και `f(b)` πρέπει να έχουν αντίθετα πρόσημα. Το `TOL` είναι η επιθυμητή ανοχή και `N` είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα `[success,value,iteration]`, όπου `success` είναι μια λογική τιμή που δείχνει επιτυχία, `value` είναι η τελευταία υπολογισμένη τιμή και `iteration` είναι ο αριθμός των επαναλήψεων που έγιναν.

FindRootFalsePosition

      FindRootFalsePosition (f,a,b,TOL,N)

  Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο ψευδούς θέσης. Τα `a` και `b` είναι το αρχικό διάστημα πρόβλεψης, τα `f(a)` και `f(b)` πρέπει να έχουν αντίθετα πρόσημα. Το `TOL` είναι η επιθυμητή ανοχή και `N` είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα `[success,value,iteration]`, όπου `success` είναι μια λογική τιμή που δείχνει επιτυχία, `value` είναι η τελευταία υπολογισμένη τιμή και `iteration` είναι ο αριθμός των επαναλήψεων που έγιναν.

FindRootMullersMethod

      FindRootMullersMethod (f,x0,x1,x2,TOL,N)

  Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο Μίλερ. Το `TOL` είναι η επιθυμητή ανοχή και `N` είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα `[success,value,iteration]`, όπου `success` είναι μια λογική τιμή που δείχνει επιτυχία, `value` είναι η τελευταία υπολογισμένη τιμή και `iteration` είναι ο αριθμός των επαναλήψεων που έγιναν.

FindRootSecant

      FindRootSecant (f,a,b,TOL,N)

  Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο τέμνουσας. Τα `a` και `b` είναι το αρχικό διάστημα πρόβλεψης, τα `f(a)` και `f(b)` πρέπει να έχουν αντίθετα πρόσημα. Το `TOL` είναι η επιθυμητή ανοχή και `N` είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα `[success,value,iteration]`, όπου `success` είναι μια λογική τιμή που δείχνει επιτυχία, `value` είναι η τελευταία υπολογισμένη τιμή και `iteration` είναι ο αριθμός των επαναλήψεων που έγιναν.

HalleysMethod

      HalleysMethod (f,df,ddf,guess,epsilon,maxn)

  Find zeros using Halley's method. `f` is the function, `df` is the derivative of `f`, and `ddf` is the second derivative of `f`. `guess` is the initial guess. The function returns after two successive values are within `epsilon` of each other, or after `maxn` tries, in which case the function returns `null` indicating failure.

  Δείτε επίσης `NewtonsMethod` και `SymbolicDerivative`.

  Παράδειγμα εύρεσης της τετραγωνικής ρίζας του 10:

      genius> HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)

  See Wikipedia for more information.

  Version 1.0.18 onwards.

NewtonsMethod

      NewtonsMethod (f,df,guess,epsilon,maxn)

  Βρίσκει μηδενικά χρησιμοποιώντας τη μέθοδο Νεύτωνα. Το `f` είναι η συνάρτηση και `df` είναι η παράγωγος του `f`. Η `guess` είναι η αρχική πρόβλεψη. Η συνάρτηση επιστρέφει μετά από δύο διαδοχικές τιμές που είναι μέσα στο `epsilon` μεταξύ τους, ή μετά από `maxn` προσπάθειες, οπότε η συνάρτηση επιστρέφει `null` που δείχνει αποτυχία.

  Δείτε επίσης `NewtonsMethodPoly` and `SymbolicDerivative`.

  Παράδειγμα εύρεσης της τετραγωνικής ρίζας του 10:

      genius> NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)

  See Wikipedia for more information.

  Version 1.0.18 onwards.

PolynomialRoots

      PolynomialRoots (p)

  Υπολογίζει ρίζες ενός πολυωνύμου (βαθμών από 1 μέχρι 4) χρησιμοποιώντας τους τύπους για τέτοια πολυώνυμα. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το `4*x^3 + 2*x + 1` αντιστοιχεί στο διάνυσμα `[1,2,0,4]`. Επιστρέφει ένα διάνυσμα στήλης των λύσεων.

  Η συνάρτηση καλεί QuadraticFormula, CubicFormula και QuarticFormula.

QuadraticFormula

      QuadraticFormula (p)

  Υπολογίζει ρίζες ενός δευτεροβάθμιου πολυωνύμου (βαθμού 2) χρησιμοποιώντας τον τύπο δευτεροβάθμιας. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το `3*x^2 + 2*x + 1` αντιστοιχεί στο διάνυσμα `[1,2,3]`. Επιστρέφει ένα διάνυσμα στήλης των δύο λύσεων.

  See Planetmath, or Mathworld, or Wikipedia for more information.

QuarticFormula

      QuarticFormula (p)

  Υπολογίζει ρίζες ενός τεταρτοβάθμιου πολυωνύμου (βαθμού 4) χρησιμοποιώντας τον τύπο τεταρτοβάθμιας. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το `5*x^4 + 2*x + 1` αντιστοιχεί στο διάνυσμα `[1,2,0,0,5]`. Επιστρέφει ένα διάνυσμα στήλης τεσσάρων λύσεων.

  See Planetmath, Mathworld, or Wikipedia for more information.

RungeKutta

      RungeKutta (f,x0,y0,x1,n)

  Χρησιμοποιεί την κλασική μη αναπροσαρμοστική μέθοδο τέταρτης τάξης Runge-Kutta για αριθμητική επίλυση της y'=f(x,y) με αρχικά `x0`, `y0` πηγαίνει στο `x1` με βήματα `n`, επιστρέφει `y` στο `x1`.

  Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το `y` να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το `y0` μπορεί να είναι ένα διάνυσμα, οπότε το `f` πρέπει να πάρει έναν αριθμό `x` και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.

  See Mathworld or Wikipedia for more information.

RungeKuttaFull

      RungeKuttaFull (f,x0,y0,x1,n)

  Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial `x0`, `y0` going to `x1` with `n` increments, returns an `n+1` by 2 matrix with the `x` and `y` values. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints.

  Example:

      genius> LinePlotClear();
      genius> line = RungeKuttaFull(`(x,y)=y,0,1.0,3.0,50);
      genius> LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");

  Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το `y` να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το `y0` μπορεί να είναι ένα διάνυσμα, οπότε το `f` πρέπει να πάρει έναν αριθμό `x` και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.

  The output for a system is still a n by 2 matrix with the second entry being a vector. If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with ExpandMatrix, and pick out the right columns. Example:

      genius> LinePlotClear();
      genius> lines = RungeKuttaFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,100);
      genius> lines = ExpandMatrix(lines);
      genius> firstline = lines@(,[1,2]);
      genius> secondline = lines@(,[1,3]);
      genius> LinePlotWindow = [0,10,-2,2];
      genius> LinePlotDrawLine(firstline,"color","blue","legend","First");
      genius> LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");

  See Mathworld or Wikipedia for more information.

  Version 1.0.10 onwards.

Προηγ | Πάνω | Επόμενο
Συναρτήσεις | Αρχή | Στατιστική