[MatLab] Calcolo letterale

Messaggioda luigi.bitonti » 27/05/2017, 21:52

Salve, ho un problema con Matlab. In pratica dovrei fare delle operazioni letterali, quindi ho definito la mia incognita x nella maniera seguente: x=sym('x','real');
Il problema è che quando scrivo, ad esempio, x+0.1, automaticamente me lo "traduce" in frazione, scrivendo quindi x+1/10.
Sembra un problema insignificante, ma se uso numeri decimali un po' più corposi li trasforma in frazioni paurose. Allego una foto per mostrare il problema. Ho già settato le impostazioni in maniera tale che si visualizzano i numeri in formato short. Ho provato anche a usare il comando "format short", ma niente. Idem per "format long" o "format bank". Grazie a chiunque mi sarà d'aiuto.
Click sull'immagine per visualizzare l'originale

Immagine

Moderatore: Raptorista

Aggiunto titolo.
luigi.bitonti
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 27/05/2017, 21:44

Re: [MatLab]

Messaggioda apatriarca » 28/05/2017, 22:53

Ho poca esperienza con il calcolo simbolico in Matlab, ma esiste una funzione chiamata vpa per fare uso di calcoli usando un certo numero di cifre nel calcolo (e visualizza quindi i valori con cifre decimali invece che con le frazioni).
apatriarca
Moderatore
Moderatore
 
Messaggio: 4640 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [MatLab]

Messaggioda Raptorista » 29/05/2017, 08:47

La tua situazione è abbastanza strana perché tipicamente chi vuole fare calcolo simbolico non usa numeri di questo tipo. Quello che credo dovresti fare è assegnare una lettera ad ogni costante [o somma di costanti] e portarti dietro le lettere. Questo è il calcolo letterale.
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4386 di 9616
Iscritto il: 28/09/2008, 19:58


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite