Guida alla calcolatrice

Come scrivere equazioni, sistemi, integrali ed equazioni differenziali, con esempi che puoi provare con un clic.

La calcolatrice risolve ciò che le scrivi: equazioni e sistemi non lineari, integrali definiti ed equazioni differenziali con condizioni iniziali. Normalmente gira nel tuo browser: il testo resta sul dispositivo. Se il motore locale non è disponibile, compare una richiesta: solo scegliendo «Calcola sul server» invii il programma a MATH, per quel singolo calcolo. Con «Annulla» non viene inviato. Il calcolo sul server non usa servizi di intelligenza artificiale e il programma non viene conservato. La sintassi è simile alla matematica scritta a mano, ma non è Python: le differenze principali sono in evidenza.

Preferisci chiedere? L'assistente della calcolatrice scrive il programma da una descrizione, spiega gli errori e cerca tutte le soluzioni. Apri la calcolatrice con l'assistente
Sotto ogni esempio trovi due pulsanti: Copia mette il testo negli appunti, Apri nella calcolatrice lo carica nel campo di input, pronto da eseguire con Calcola.

1. Come si usa

  1. Scrivi nel campo Equazione o sistema, una equazione per riga.
  2. Premi Calcola o Ctrl+Invio. Il tasto Tab inserisce quattro spazi.
  3. Il risultato compare nel pannello Risultati, accanto al programma sulle finestre larghe e sotto sulle finestre strette, come nome = valore per ogni variabile, con sei cifre significative.
  4. Log computazionale mostra i passaggi del solutore (le iterazioni e i residui): utile per capire se e come ha convergiuto.
  5. Apri Messaggi del calcolo per consultare il registro; Pulisci messaggi svuota soltanto quel registro, conservando programma e risultato. Il menu Esempi… apre modelli completi, con descrizione e risultato atteso: razzo verticale, integrale gaussiano, equazione con 7 soluzioni, sistema 4×4, predatore-preda, perdite in un tubo (Colebrook), periodo del pendolo, svuotamento di un serbatoio, punto di lavoro di una pompa e circuito RC. «Carica nel form» lo copia nel campo.
  6. Il pulsante Grafico compare dopo un calcolo con una sola variabile, o dopo una equazione differenziale (vedi il paragrafo 8).
  7. Il pulsante Assistente, nella riga dei comandi, apre una chat che scrive un programma da una descrizione, spiega gli errori e cerca tutte le soluzioni di un sistema provando molte stime iniziali. Vede il programma nel campo e l'ultimo risultato. Ogni numero che riporta viene dal motore, e non scrive mai nel campo da sola: propone un programma e tu scegli Carica nel form o Carica ed esegui. Ha un limite di messaggi al giorno (più basso nella demo). Vedi il paragrafo 9.
L'assistente usa un servizio di intelligenza artificiale (IONOS). Le tue domande, il programma nel campo e l'ultimo risultato vengono inviati a quel servizio: non inserire dati personali o riservati (vedi l'informativa privacy). Può sbagliare, soprattutto sul modello fisico del tuo problema: i numeri sono del motore, ma la verifica è tua.

Se incolli testo da una pagina web, un PDF o Word, i simboli tipografici più comuni (−, ′, ×, ÷, ≤, ≥, ≠) vengono convertiti da soli nei corrispondenti ASCII. Lettere accentate, √, ² o emoji nelle equazioni sono invece un errore.

2. Equazioni e sistemi

Ogni riga è una equazione nella forma sinistra = destra. Servono tante equazioni quante incognite. Una equazione in una incognita:

3*x + 2 = 11

Un sistema lineare di due equazioni in due incognite:

x + y = 10
x - y = 2

Un sistema non lineare. Qui sono date delle stime iniziali per x e y (vedi il paragrafo 3): senza, il solutore parte da punti casuali:

<iniz>
x = 3
y = 2
</iniz>
x^2 + y^2 = 25
x - y = 1

Operatori, funzioni, numeri

a = 2^(-1) + sqrt(16) + abs(-3)
b = 2.5e-3 * 4
c = pow(2, 10) + log10(1000)

Funzioni inverse e iperboliche, e l'angolo di un punto con atan2(y, x):

p = asin(0.5)
q = acos(0.5)
r = atan2(1, -1)
s = tanh(0.5)
u = sinh(1)

3. Valori iniziali, parametri e intervalli

Il blocco <iniz> … </iniz> si scrive all'inizio e contiene una riga nome = valore per ogni variabile che vuoi inizializzare:

Un parametro fisso, usato in una equazione:

<iniz>
p = 5 const
</iniz>
q = p * 2

Più soluzioni. L'equazione x^2 = 4 ha due soluzioni, 2 e −2. La stima iniziale decide quale arriva:

<iniz>
x = 1
</iniz>
x^2 = 4
<iniz>
x = -1
</iniz>
x^2 = 4

Per le altre soluzioni di una equazione o di un sistema basta cambiare la stima. Il solutore trova una soluzione per volta e non garantisce di trovarle tutte; la stima giusta non è sempre quella più vicina. Il menu Esempi… contiene due modelli con una tabella dei valori iniziali che portano a ciascuna soluzione (l'equazione con sette soluzioni e il sistema 4×4).

L'intervallo range serve anche al grafico (vedi il paragrafo 8):

<iniz>
x = 1 range(-6, 6)
</iniz>
x^2 - 4 = 0
Se non converge. La non convergenza non prova che la soluzione non esista: prova un'altra stima, o riduci il problema a una equazione alla volta. Funzioni molto «a gradino» o non derivabili vicino alla soluzione rallentano o impediscono la convergenza.

4. Confronti e logica

I confronti < > <= >= == != valgono 1 se veri e 0 se falsi, quindi si possono moltiplicare per un valore: 100*(t>=5) vale 100 per t>=5 e 0 prima. È il modo di scrivere un gradino o un interruttore.

x = 100*(7>=5) + 7*(7<5)
y = (3>2) and (2>1)
z = not (4==5)
w = (1>2) OR (2>1)

5. Tabelle

Una tabella è una curva y(x) data per punti, che il motore interpola linearmente (e estrapola oltre gli estremi) e che usi come una funzione: p(x). Serve per proprietà o curve misurate che non hanno una formula, come la curva di una pompa o di una valvola.

<tabella ident="p">
<dato x="0" y="0"/>
<dato x="2" y="4"/>
</tabella>
x = p(1)
y = p(3)
<tabella ident="cp">
<dati>
0, 100
1.0, 1.2
</dati>
</tabella>
q = cp(50)

L'argomento può essere una incognita: qui si cerca il punto in cui la curva vale 3.

<iniz>
x = 1
</iniz>
<tabella ident="p">
<dato x="0" y="0"/>
<dato x="2" y="4"/>
</tabella>
p(x) = 3

Una matrice è una famiglia di curve per diversi valori di un parametro p, con <curva valore="…">, e si usa come M(p, x): il motore interpola in x e in p.

<tabella ident="M">
<curva valore="0"><dato x="0" y="0"/><dato x="2" y="2"/></curva>
<curva valore="10"><dato x="0" y="10"/><dato x="2" y="12"/></curva>
</tabella>
x = M(5, 1)

Le tabelle sono supportate nei sistemi algebrici, non nei programmi differenziali.

6. Integrali

La sintassi è integral(espressione, variabile, minimo, massimo). Il risultato è numerico.

I = integral(x, x, 0, 20)
I = integral(sin(x), x, 0, 3.141592653589793)
<iniz>
a = 1
</iniz>
integral(a*x, x, 0, 2) = 6

Un estremo può essere una variabile del sistema, e gli integrali si possono annidare:

b = 3
A = integral(x^2, x, 0, b)
I = integral(integral(x+y, y, 0, x), x, 0, 2)
Limiti. Non restituisce primitive simboliche e non calcola integrali impropri (estremi infiniti o funzioni infinite nei punti campionati). Il metodo è adattivo (trapezi con estrapolazione di Simpson) con una stima dell'errore, ed è pensato per funzioni continue e regolari: per picchi stretti, discontinuità o oscillazioni molto rapide la stima non garantisce l'accuratezza. Al massimo 16 livelli di annidamento.

7. Equazioni differenziali

Un sistema di equazioni differenziali ordinarie con condizioni iniziali si scrive con la derivata nel tempo. Le due notazioni sono equivalenti:

y' significa dy/dt: come cambia la variabile y nel tempo. t è il tempo, riservato. Non è una funzione per derivare simbolicamente un'espressione: der(x^2) non ha senso qui.

Decadimento y' = −k·y. La riga x = y è una equazione algebrica, che viene calcolata a ogni istante:

<iniz>
k = 0.3 const
y = 10
campo_finale = 10
</iniz>
y' = -k*y
x = y

La derivata può dipendere dal tempo. Qui y' = −y·t, la cui soluzione è exp(−t²/2):

<iniz>
y = 1
campo_finale = 2
</iniz>
y' = -y*t

Secondo ordine e sistemi

Non esiste y'': un'equazione di secondo ordine si scrive come due stati di primo ordine. L'oscillatore armonico x'' = −x diventa x' = v, v' = −x, con v la velocità. Qui un periodo intero, da 0 a 2π, che riporta a x = 1 e v = 0:

<iniz>
x = 1
v = 0
campo_finale = 6.283185307179586
</iniz>
x' = v
v' = -x

Le derivate leggono tutti gli stati allo stesso istante, quindi puoi scrivere sistemi accoppiati e non lineari, come il modello predatore-preda negli Esempi.

Equazioni algebriche insieme alle differenziali

Alle derivate puoi affiancare equazioni algebriche che dipendono dagli stati e dal tempo. Le incognite algebriche non hanno bisogno di valore iniziale; una stima in <iniz> aiuta a scegliere la soluzione quando ce n'è più d'una (qui x = −3 porta alla radice negativa):

<iniz>
k = 0.3 const
y = 10
x = -3
</iniz>
y' = -k*y
x^2 = y
Cosa non è supportato. Tabelle e range sugli stati; vincoli sugli stati; le variabili algebriche nelle derivate (feedback algebrico); derivate implicite o parziali; eventi; integrazione all'indietro. Il metodo (Dormand-Prince 5(4), a passo adattativo) è pensato per sistemi non rigidi. La tolleranza controlla l'errore locale di ogni passo, non l'errore globale: su tempi lunghi lo scarto può crescere. Le tolleranze si cambiano solo dall'API. Valori molto piccoli (sotto 1e-9) non sono accurati nelle cifre relative.

8. Il grafico

Equazione in una variabile

Dopo il calcolo di una equazione con una sola variabile compare Grafico: disegna f(x) = sinistra − destra per x in un intervallo; le radici sono dove la curva attraversa lo zero, e il punto rosso è la soluzione trovata.

Equazione differenziale

Dopo una equazione differenziale, Grafico disegna le serie nel tempo:

9. Unità di misura

Puoi scrivere l'unità di una variabile tra parentesi quadre, in <iniz>, in fondo alla riga: h = 2 [m], k = 0.3 const [1/s]. Una riga con solo l'etichetta, come t [s], dichiara l'unità del tempo.

Caduta di un grave, con le unità dichiarate; il risultato mostra h = 0.38 m (20 − ½·9,81·2²), v = −19.62 m/s e Risultato a t = 2 s:

<iniz>
h = 20 [m]
v = 0 [m/s]
t [s]
g = 9.81 const [m/s^2]
campo_finale = 2
</iniz>
h' = v
v' = -g

Nell'editor di processo le unità dei terminali sono controllate quando colleghi due componenti: se una linea unisce due terminali che dichiarano la stessa variabile con unità diverse (per esempio bar e Pa), compare un avviso, non bloccante.

10. L'assistente

L'assistente è una chat dentro la calcolatrice che sa la sintassi del motore e lo usa come strumento. Apri la calcolatrice con l'assistente

Dove si trova

Nella pagina della calcolatrice, il pulsante Assistente è nella riga dei comandi, accanto a Calcola, Pulisci ed Esempi…. Un clic apre il pannello. Il link qui sopra apre la calcolatrice con il pannello già aperto. È disponibile anche nella demo.

Cosa sa fare

Come lavora

Limiti

Privacy. L'assistente usa un servizio di intelligenza artificiale (IONOS): le tue domande, il programma nel campo e l'ultimo risultato vengono inviati a quel servizio per generare la risposta. Non inserire dati personali o riservati. Nulla viene conservato da MATH oltre al numero di messaggi (informativa privacy).

11. Errori frequenti

SbagliatoGiusto
x = 1,5x = 1.5 (punto decimale)
2^-12^(-1)
3 x3x oppure 3*x
!xNOT x (negazione) o x != 3 (diverso)
asin(2), acos(-1.5)errore di dominio: l'argomento deve stare tra −1 e 1
asinh(x), acosh(x), atanh(x)non disponibili
due = in una riga, come x = y = 2una equazione per riga: x = 2 e y = 2
y'' = −ydue stati: y' = v e v' = −y
stato differenziale senza valore inizialeaggiungi y = 1 in <iniz>
parametro senza const in un programma differenzialek = 0.3 const
più incognite che equazioni (o viceversa)serve una equazione per ogni incognita: dai un valore fisso con const alle altre
tag o attributi extra nelle tabellesolo <dato x y/>, <dati> e <curva valore>

12. Limiti e cosa fare dopo

Per modelli più grandi, con componenti collegati da linee, usa l'applicazione completa (Componenti, Tabelle e Processo). Il motore può anche essere interrogato da un assistente AI collegato via MCP, che prova diversi valori iniziali e riporta le soluzioni trovate.