Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - WolframAlpha, sistemi e CAS
Forum - Altri Linguaggi - WolframAlpha, sistemi e CAS

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 22:53
Lunedì, 07/09/2015
Buonasera, da bravo ingegnere dell'automazione quale vorrei un giorno diventare molte volte mi trovo davanti a sistemi di equazioni che presentano una forma poco semplificata e magari neanche risolta. Molte volte la soluzione è semplice ed elementare, altre invece risulta complessa, in entrambi i casi nel momento della progettazione risulta fastidioso doversi fermare per fare il lavoro del matematico, che sia la risoluzione di un semplice sistema con 2 equazioni di secondo grado o equazioni differenziali di una certa complessità. Molte volte mi avvalgo di wolframalpha, uno strumento molto potente ma ahime poco documentato (o almeno io non trovo mai quello che cerco).
Spesso ho necessità di passare da un sistema di x equazioni a determinate funzioni con determinati parametri. Propongo un esempio riscontrato di recente.
Codice sorgente - presumibilmente Plain Text

  1. z=p+u*cos(-o-90°)
  2. x=p*cos(-45°)+u*cos(-o-135°)
  3. y=p*cos(-135°)+u*cos(-o-225°)


conoscendo a priori u ho necessità di ricavare
Codice sorgente - presumibilmente Plain Text

  1. p(x,y,z)
  2. o(x,y,z)


e successivamente analizzare i grafici per poter stabilire i limiti di applicabilità di queste funzioni.
Vorrei aver la possibilità di far fare il lavoro di semplificazione e risoluzione ad un software cosi da potermi concentrare solo sullo sviluppo HW e SW. Questo sembra proprio un compito da software CAS. Ora io non conosco però il formalismo per poter chiedere questo tipo di risoluzioni a wolframalpha. Credo comunque che quello che chiedo io sia fattibile, forse mi sbaglio? In alternativa potrei avvalermi di MATLAB?
Grazie.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:00
Martedì, 08/09/2015
Si si può fare. http://www.wolframalpha.com/input/?i=Reduce%5B%7Bz+%3D%3D+ ...

Ti consiglio di considerare una licenza di Mathematica. http://www.wolfram.com/mathematica/?source=nav

Matlab va anche bene, è per la maggior parte una questione di preferenza nella sintassi del linguaggio (io preferisco Mathematica).



Il mio blog: https://piero.dev
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 12:15
Martedì, 08/09/2015
Grazie Piero, mi hai semplificato e non poco il lavoro futuro.

Ho installato ieri MATLAB :(
Comunque la mia università offre la licenza anche per Mathematica, vorrà dire che lo proverò.
Con MATLAB ho riscontrato un grande ostacolo. La documentazione (sempre quella) in italiano è poco aggiornata e un po' di bassa qualità, sapresti indirizzarmi su un libro abbastanza aggiornato sull'uso di uno di questi due ambienti? Mathematica può andare benissimo, tanto partirei da zero con entrambi.

Edit:
Ho notato che se chiedo di ricavare "o" WolframAlpha si prende la libertà di scegliere le variabili da passare come argomento es o(y,p), posso forzare la semplificazione a o(x,y,z)?

Ultima modifica effettuata da Roby94 il 08/09/2015 alle 12:33
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:26
Martedì, 08/09/2015
Si dovrebbe essere possibile specificare i parametri. https://reference.wolfram.com/language/tutorial/Eliminating ...

Non penso sia possibile farlo con Wolframalpha in un solo passaggio (servono due passaggi e wolframalpha permette solo query singole).

Sull'italiano... non c'è molto da fare. Adattati all'inglese, anche se esistono delle traduzioni è probabile che siano indietro e non frequentemente aggiornate.


Il mio blog: https://piero.dev
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 20:47
Martedì, 08/09/2015
Ho installato Mathematica, mi potresti consigliare qualcosa... va bene anche in inglese 8-|
Dopo provo a farlo fare a Mathematica quel lavoro vediamo se ci riesco. Grazie Piero.

Edit:
No, scherzavo non sono assolutamente in grado di farlo ora su Mathematica, non riesco a fargli fare nemmeno 3+5.
Edit2:
Faccio progressi, allora ritornando al sistema di prima, prima riduco per "p" dopo di che elimino le variabili che non voglio, giusto?

Ultima modifica effettuata da Roby94 il 08/09/2015 alle 23:15
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:45
Martedì, 08/09/2015


Il mio blog: https://piero.dev
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 1:10
Mercoledì, 09/09/2015
Ho l'occhio su questo
http://www.amazon.it/Hands--Start-Wolfram-Mathematica-Hast ...
Appena uscirà darò un occhiata se può sembrare un buon manuale.
Ok grazie ancora Pietro.
Comunque sono bloccato, riduco, elimino e fino a questo punto ci arrivo però le funzioni ritornate non contemplano p(x,y,z) allora cerco di ridurre ancora per p ma il programma rimane bloccato e non riesce a trovare una soluzione... Sinceramente mi sto un pochino avvilendo, visto che reputo questo problema piuttosto semplice, mi chiedo se dovessi chiederli qualcosa di leggermente piu articolato. Allego il file di calcolo, se qualche anima pia avesse voglia di buttarci un occhio per dirmi se sbaglio approccio.
Prima cercando di ottenere o(x,y,z) ho ottenuto risultati piuttosto assurdi.


Roby94 ha allegato un file: Sys.zip (1794 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 4:39
Mercoledì, 09/09/2015
Non ho Mathematica installato, pero' proverei ad eseguire Eliminate prima di Reduce. Cosa succede se elimini u prima di risolvere per p?


Il mio blog: https://piero.dev
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 13:04
Mercoledì, 09/09/2015
Allora a questo punto è meglio se chiarisco a cosa corrisponde il suddetto sistema. Sono le equazioni per una particolare configurazione di accelerometro. z,x,y sono i valori letti, o è un angolo di inclinazione del sistema, e p è l'accelerazione del sistema senza la componente gravitazionale. I valori sono espressi in g*m/s^2 e u è l'unità della forza gravitazionale, quindi doveva risultare u al meglio dell'errore del dispositivo di misurazione. Detto questo u è stato rimosso, visto che l'errore è costante, tanto vale applicare la correzione direttamente sui valori z,x,y.
Ovviamente questo è diventato un pretesto per capire dove sbaglio nell'approccio con Mathematica.
Riporto i passaggi che seguo.
Codice sorgente - presumibilmente Plain Text

  1. in:= eqn = {z == p - o sin, x == p/Sqrt[2] - Cos[o - \[Pi]/4], y == -(p/Sqrt[2]) - Cos[o + \[Pi]/4]}(*Definisco il sistema*)
  2. in:= Reduce[eqn, p]
  3. out= y == 1/2 (-Sqrt[2] (o sin + z) - 2 Cos[o + \[Pi]/4]) && x == 1/2 (Sqrt[2] (o sin + z) - 2 Cos[o - \[Pi]/4]) && p == o sin + z
  4. in:= Eliminate[%, o]
  5. out= (-4 sin ArcCos[1/2 (Sqrt[2] p - 2 x)] == 4 p - \[Pi] sin - 4 z && 2 ArcCos[1/2 (-Sqrt[2] p - 2 y)] == \[Pi] + 2 ArcCos[1/2 (Sqrt[2] p - 2)])  
  6.      || (4 sin ArcCos[1/2 (Sqrt[2] p - 2 x)] == 4 p - \[Pi] sin - 4 z && 2 ArcCos[1/2 (-Sqrt[2] p - 2 y)] == \[Pi] + 2 ArcCos[1/2 (Sqrt[2] p - 2 x)])
  7. in:= Reduce[%, p](*E qui va in loop e mi costringe ad abortire*)


Ora si dovrebbe capire meglio dove mi blocco, mi sapresti aiutare? Grazie ancora Piero.

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo