<chapter id="reference">
<title>Guida di riferimento a &kmplot;</title>

<!--
<mediaobject>
<imageobject>
<imagedata fileref="kfkt.png" format="PNG"/>
</imageobject>
</mediaobject>

<para>This menu entry or toolbar button opens the Functions Editor.  Here
you can enter up to 10 functions or
function groups.  The parser knows <firstterm>explicit</firstterm> and
<firstterm>parametric</firstterm> form.  With specific extensions it
is possible to add first and second derivatives and to choose values
for the function group parameter.</para>
-->

<sect1 id="func-syntax">
<title>Sintassi delle funzioni</title>

<para>È necessario rispettare alcune regole di sintassi:</para>

<screen><userinput>nome(var1[, var2])=termine [;estensioni]</userinput>
</screen>


<variablelist>
<varlistentry>
<term>nome</term>
<listitem>

<para>Il nome della funzione. Se il primo carattere è <quote>r</quote>, l'interprete assume che tu stia usando coordinate polari. Se il primo carattere è <quote>x</quote> (per esempio <quote>xfunz</quote>) il parser si aspetta una seconda funzione il cui nome inizi per <quote>y</quote> (in questo caso <quote>yfunz</quote>) per definire una funzione in forma parametrica. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>var1</term>
<listitem><para>La variabile della funzione</para></listitem>
</varlistentry>
<varlistentry>
<term>var2</term> 
<listitem><para>Il <quote>parametro di gruppo</quote> della funzione. Deve esserci una virgola a separarlo dalla variabile della funzione. Puoi usare il parametro di gruppo, ad esempio, per tracciare un certo numero di grafici come variazioni da una funzione base. I valori del parametro possono essere forniti manualmente. oppure puoi scegliere di avere un cursore che controlla il parametro. Spostando il cursore cambierà il valore del parametro. Il cursore può assumere valori interi compresi tra 1 e 100. </para></listitem>
</varlistentry>
<varlistentry>
<term>termine</term>
<listitem><para>L'espressione che definisce la funzione.</para></listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="func-predefined">
<title>Nomi delle funzioni e costanti predefinite</title>

<para>È possibile visualizzare tutte le funzioni predefinite e le costanti note a &kmplot; selezionando <menuchoice><guimenu>Aiuto</guimenu><guimenuitem>Funzioni matematiche predefinite</guimenuitem> </menuchoice>. Esse sono: <variablelist>

<varlistentry>
<term>sqr, sqrt</term>
<listitem>
<para>Restituiscono rispettivamente il quadrato e la radice quadrata di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>exp, ln</term>
<listitem>
<para>Restituiscono rispettivamente l'esponenziale e il logaritmo naturale di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>log</term>
<listitem>
<para>Restituisce il logaritmo in base 10 di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>sin, arcsin</term>
<listitem>
<para>Restituiscono rispettivamente il seno e l'arcoseno di un numero. Nota che l'argomento di sin e il valore restituito da arcsin sono in radianti.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>cos, arccos</term>
<listitem>
<para>Restituiscono rispettivamente il coseno e l'arcocoseno di un numero. Sempre in radianti.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>tan, arctan</term>
<listitem>
<para>Restituiscono rispettivamente la tangente e l'arcotangente di un numero. Sempre in radianti.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>sinh, arcsinh</term>
<listitem>
<para>Restituiscono rispettivamente il seno iperbolico e l'arcoseno iperbolico di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>cosh, arccosh</term>
<listitem>
<para>Restituiscono rispettivamente il coseno iperbolico e l'arcocoseno iperbolico di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>tanh, arctanh</term>
<listitem>
<para>Restituiscono rispettivamente la tangente iperbolica e l'arcotangente iperbolica di un numero.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>sin, arcsin</term>
<listitem>
<para>Restituiscono rispettivamente il seno e l'arcoseno di un numero. Nota che l'argomento di sin e il valore restituito da arcsin sono in radianti.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>cos, arccos</term>
<listitem>
<para>Restituiscono rispettivamente il coseno e l'arcocoseno di un numero. Sempre in radianti.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>pi, e</term>
<listitem>
<para>Costanti che rappresentano rispettivamente &pgr; (3,14159...) ed e (2,71828...).</para>
</listitem>
</varlistentry>

</variablelist>
</para>

<para>Queste funzioni e costanti, nonché tutte le funzioni definite dall'utente, sono utilizzabili anche per determinare le impostazioni degli assi. Vedi <xref linkend="axes-config"/> </para>

</sect1>

<sect1 id="func-extension">
  <title>Estensioni</title>
  <para>Per specificare un'estensione di una funzione basta scriverla, separata da un punto e virgola (;), dopo la definizione della funzione. L'estensione può essere scritta tramite Quick Edit o usando il "Parser addFunction" di DCOP. Non c'è nessuna estensione disponibile per le funzioni parametriche, ma N e D[a,b] funzionano anche per le funzioni in coordinate polari. Per esempio: <screen>
      <userinput>
        f(x)=x^2; A1
      </userinput>
    </screen> farà disegnare il grafico di y=x<superscript>2</superscript> e quello della sua derivata prima. Questa è una breve descrizione delle estensioni supportate: <variablelist>
      <varlistentry>
	<term>N</term>
	<listitem>
	  <para>La funzione verrà memorizzata senza essere disegnata. In questo modo potrà essere utilizzata come una qualsiasi altra funzione (tua o predefinita). </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>A1</term>
	<listitem>
	  <para>Viene disegnato anche il grafico della derivata prima della funzione. Il nuovo grafico avrà lo stesso colore, ma una linea più sottile. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>A2</term>
	<listitem>
	  <para>Viene disegnato anche il grafico della derivata seconda della funzione. Il nuovo grafico avrà lo stesso colore, ma una linea più sottile. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>D[a,b]</term>
	<listitem>
	  <para>Imposta il dominio del grafico della funzione. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>P[a{,b...}]</term>
	<listitem>
	  <para>Assegna un insieme di parametri al variare dei quali si vuole tracciare la funzione. Per esempio: <userinput>f(x,k)=k*x;P[1,2,3]</userinput> disegnerà le funzioni f(x)=x,  f(x)=2*x  e  f(x)=3*x. Puoi usare anche delle funzioni come argomenti dell'opzione P. </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </para>
  <para>Ricordati che puoi fare queste operazioni anche tramite l'editor delle funzioni. </para>
</sect1>

<sect1 id="math-syntax">
<title>Sintassi matematica</title>
<para>&kmplot; utilizza convenzioni ben note per esprimere le funzioni matematiche, per cui non dovrebbero essere fonte di problemi. Gli operatori noti a &kmplot; sono, in ordine decrescente di precedenza: <variablelist>

<varlistentry>
<term>^</term>
<listitem><para>L'apice esegue l'elevamento a potenza. &eg;, <userinput>2^4</userinput> ha come risultato 16.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>*, /</term>
<listitem>
<para>L'asterisco e la barra eseguono la moltiplicazione e la divisione. &eg;, <userinput>3*4/2</userinput> ha come risultato 6.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>+, -</term>
<listitem><para>Il più e il meno eseguono l'addizione e la sottrazione.&eg;, <userinput>1+3-2</userinput> ha come risultato 2.</para>
</listitem>
</varlistentry>

</variablelist>
</para>
<para>Nota la precedenza: se non ci sono parentesi, l'elevamento a potenza è eseguito prima della moltiplicazione/divisione, che a loro volta precedono l'addizione/sottrazione. Perciò <userinput>1+2*4^2</userinput> vale 33, e non, per esempio, 144. Per modificare l'ordine delle operazioni, utilizza le parentesi. Tornando all'esempio di prima, <userinput>((1+2)*4)^2</userinput> vale proprio 144. </para>
</sect1>

<!--
<sect1 id="coord-system">
<title>Coordinate Systems</title>

<para><inlinemediaobject>
<imageobject>
<imagedata fileref="ksys1.png" format="PNG"/>
</imageobject>
</inlinemediaobject></para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="ksys2.png" format="PNG"/>
</imageobject>
</inlinemediaobject></para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="ksys3.png" format="PNG"/>
</imageobject>
</inlinemediaobject></para>
-->
<sect1 id="coord-area"><title>Area del grafico</title>
<para>L'impostazione predefinita è che le funzioni definite esplicitamente siano tracciate lungo tutta la parte visibile dell'asse x . Puoi specificare un altro intervallo nella finestra di dialogo in cui definisci la funzione. Per ogni pixel sull'asse delle ascisse, &kmplot; calcola il valore della funzione. Se il punto risultante si trova all'interno dell'area rappresentata, sarà unito con una linea al punto precedente. </para>
<para>Le funzioni parametriche sono tracciate per valori del parametro da 0 a 2&pgr;. Questo intervallo si può modificare nella finestra di dialogo con cui definisci la funzione. </para>
</sect1>

<sect1 id="coord-cross">
<title>Puntatore a croce</title>
<para>Quando il puntatore del mouse si trova all'interno dell'area del grafico, diventa a forma di croce. Le coordinate correnti sono visibili all'intersezione con gli assi, e anche nella barra di stato ai piedi della finestra principale. </para>
<para>Puoi rilevare con maggiore precisione i valori della funzione con un clic sul grafico o nelle immediate vicinanze. La funzione selezionata viene mostrata nella colonna di destra della barra di stato. La croce assumerà lo stesso colore del grafico e sarà "catturata" da questo. Se il grafico ha lo stesso colore dello sfondo, la croce diventerà del colore inverso. Quando sposti la croce con il mouse o con le frecce Destra/Sinistra, essa seguirà la curva della funzione e tu potrai vedere i corrispondenti valori x e y. Se la croce è vicina all'asse delle X, nella barra di stato appare anche il valore della radice. Puoi passare da una funzione all'altra usando le frecce Su/Giù. Un secondo clic in un punto qualsiasi della finestra o la pressione di un tasto diverso dalle frecce farà uscire da questa modalità. </para>
<para>Nota che si possono rilevare i valori solo per funzioni definite esplicitamente. Le coordinate sono sempre riferite a un sistema cartesiano. Non è possibile rilevare in questo modo né le funzioni parametriche multivoche (più valori per ascissa), né le funzioni definite in coordinate polari. </para>

</sect1>

</chapter>