Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Equazioni Diofantine con Matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Equazioni Diofantine con Matlab

Messaggioda Foto UtenteVibia » 16 gen 2015, 21:02

Buonasera,

Essendo neofita di questo programma volevo chiedervi come posso fare a risolvere o se c'è un comando specifico per la risoluzione delle equazioni difantine poiché dovrei progettare un controllore in digitale con il metodo dell'assegnamento dei poli e dei zeri.


Grazie mille per le risposte
:ok:
Avatar utente
Foto UtenteVibia
101 2 7
Frequentatore
Frequentatore
 
Messaggi: 216
Iscritto il: 12 feb 2013, 22:53

1
voti

[2] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtentePietroBaima » 16 gen 2015, 21:51

devi risolvere un problema di Frobenius?
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,2k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9415
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[3] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtenteVibia » 17 gen 2015, 12:59

Ciao non so di cosa parli, io dovrei semplicemente progettare un regolatore digitale per un sistema retroazionato con il metodo di assegnamento dei poli/zeri.
Il mio problema è che per farlo bisogna fare molti conti che vorrei far fare a matlab anche perché vorrei avere una certa precisione.

In pratica devo sostanzialmente applicare il principio di identità dei polinomi a questa equazione:

C(z)=N_r(z)N_g(z)+D_r(z)+D_g(z)

dove R(z)=p\frac{z-a}{z-b}

e C(z) è un polinomio che scelgo io

Mi troverò quindi due polinomi dello stesso grado al quale devo applicare il principio di identità dei polinomi e determinare i parametri del regolatore.
Ora la mia domanda è se c'è un modo per risolvere questo problema con matlab.
Avevo pensato alla risoluzione dei sistemi a più equazioni andando per via matriciale, potrebbe essere la strada giusta?in quel caso come faccio?Inoltre sviluppando i calcoli a mano ho visto che alcune variabili si moltiplicano per cui come faccio a ricavarmi la matrice?
Avatar utente
Foto UtenteVibia
101 2 7
Frequentatore
Frequentatore
 
Messaggi: 216
Iscritto il: 12 feb 2013, 22:53

2
voti

[4] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtentePietroBaima » 17 gen 2015, 14:19

ho capito, matlab non va tanto bene per il calcolo simbolico, purtroppo.
Riportami il tuo caso specifico, così gli do uno sguardo.

ciao,
Pietro
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,2k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9415
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[5] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtenteVibia » 17 gen 2015, 14:54

Che brutta notizia che mi dai :cry: ma comunque ti riporto l'esercizio.

Però riflettendo se riesco a capire come risolvere questo caso teoricamente non dovrei avere problemi poiché generalmente le varianti che posso incontrare sono simili a queste.

Dal mio esempio ottengo questa matrice

\left\{\begin{matrix}
2\beta+0.045\rho=0.044
\\0.045\rho-0.045\rho\alpha+2\beta+1=0.378
\\ 0.045\rho-2-\beta=-1.48

\end{matrix}\right.
Avatar utente
Foto UtenteVibia
101 2 7
Frequentatore
Frequentatore
 
Messaggi: 216
Iscritto il: 12 feb 2013, 22:53

3
voti

[6] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtentePietroBaima » 17 gen 2015, 15:09

non ottieni una matrice, o almeno credo non nella forma che intendi tu, il sistema é non lineare :(

\{\{\beta \to -0.158667,\rho \to 8.02963,\alpha \to 1.84317\}\}
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,2k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9415
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[7] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtenteVibia » 17 gen 2015, 16:54

Grazie per la risposta...ti chiedo scusa ma la seconda equazione ho scritto il termine noto che in realtà è 0.578

Comunque è vero il sistema è non lineare, ma con matlab come posso risolverlo??
Avatar utente
Foto UtenteVibia
101 2 7
Frequentatore
Frequentatore
 
Messaggi: 216
Iscritto il: 12 feb 2013, 22:53

2
voti

[8] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtentePietroBaima » 17 gen 2015, 17:10

cioè le soluzioni sono:

\{\{\beta\to -0.158667,\rho\to 8.02963,\alpha\to 1.28967\}\}

In matlab devi utilizzare il comando fsolve, utilizzando il metodo della variazione della matrice Jacobiana, o di Newton, che ti fa diventare il sistema localmente lineare. Iterando poi risolvi. Nel link che ti ho messo hai anche degli esempi.
Qui per un po' di teoria.

Se puoi accedere ad internet, se il sistema non è molto più complicato di così, puoi cercare di risolverlo con WolframAlpha, in modo semplice.

Nel tuo caso inserisci il codice:

Codice: Seleziona tutto
NSolve[2*b + 0.045*r == 0.044 &&
  0.045*r - 0.045*r*a + 2*b + 1 == 0.578 &&
  0.045*r - 2 - b == -1.48, {b, r, a}]


sul sito del link giusto qui sopra.

Ciao,
Pietro.
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,2k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9415
Iscritto il: 12 ago 2012, 1:20
Località: Londra

2
voti

[9] Re: Equazioni Diofantine con Matlab

Messaggioda Foto Utentecarloc » 17 gen 2015, 17:13

Oppure in questo caso particolare

... la prima e la terza sono un sistema lineare in \rho e \beta ....

poi sostituisci nella seconda dove ora ti manca solo \alpha ;-)
Se ti serve il valore di beta: hai sbagliato il progetto!
Avatar utente
Foto Utentecarloc
33,1k 5 11 13
G.Master EY
G.Master EY
 
Messaggi: 2118
Iscritto il: 7 set 2010, 19:23

0
voti

[10] Re: Equazioni Diofantine con Matlab

Messaggioda Foto UtentePietroBaima » 17 gen 2015, 17:17

[OT]

ueilà! chi si vede! Un salutone, Foto Utentecarloc!

[\OT]
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,2k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9415
Iscritto il: 12 ago 2012, 1:20
Località: Londra

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite