Pagina 1 di 1

MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 24 gen 2014, 16:08
da tipu91
salve a tutti,
mi trovo a preparare un'esame di automazione, nel quale si richiede l'utilizzo di MATLAB. riguardo a questo, volevo porvi una domanda.
nello svolgimento degli esercizi, una volta dato il sistema di equazioni differenziali che regolano il sistema, spesso si richiede di scrivere la funzione di trasferimento in forma simbolica (quindi senza "sostituire" i numeri, ma con i parametri letterali). qui sorge il problema: col comando SYMS per dichiarare le variabili in forma simbolica, e poi uso la funzione JACOBIAN per calcolarmi le marici A,B,C,D; infine col comando SS2TF vorrei potere scrivere la funzione di trasferimnento, ma matlab mi da un errore! vi posto il codice!

Codice: Seleziona tutto
syms('x1','x2','x3','x4','K')
f=[x3; x4; sin(x1)+K; cos(x1)]
A=jacobian(f,v)
B=jacobian(f,K)
C=jacobian(y,v)
D=jacobian(y,K)
s=tf('s')
[num2,den2]=ss2tf(A,B,C,D)


qualcuni mi ha detto che non è possibile in matlab scrivere la FDT in forma simbolica? possibile? qualcuno che sappia rispondere al mio problema?

vi ringrazio anticipatamente :ok:

Re: MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 4 feb 2014, 20:45
da serbring
Ciao,
questo è il metodo che avevo usato io un po' di tempo fa:

Codice: Seleziona tutto
X=[xds xss];
U=[0 us];
M=[mds 0; 0 mss];
C=[bds -bds;-bds bds+bss];
K=[kds -kds; -kds kds+kss];
% espressione del sistema di equazione differenziale nel dominio di laplace
f=X*[s^2*M+s*C+K]-U;
[x1,x2]=solve(f,xds,xss);
fdt1=simple(tmd/us);
fdt2=simple(seat/us);

Re: MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 5 feb 2014, 15:35
da tipu91
ciao, intanto ti ringrazio per la risposta dato che è stata l'unica :mrgreen:

però mi sfugge qualcosa!! quelle matrici (X,M,U,C,K) sono composte da elementi non dichiarati in precedenza?!

diciamo che in questi giorni, aspettando una risposta ho quasi perso le speranze per quanto riguarda scrivere una f.d.t. in forma simbolica :cry: spero tu possa aiutarmi!

Re: MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 5 feb 2014, 23:57
da serbring
tipu91 ha scritto:ciao, intanto ti ringrazio per la risposta dato che è stata l'unica :mrgreen:

però mi sfugge qualcosa!! quelle matrici (X,M,U,C,K) sono composte da elementi non dichiarati in precedenza?!

diciamo che in questi giorni, aspettando una risposta ho quasi perso le speranze per quanto riguarda scrivere una f.d.t. in forma simbolica :cry: spero tu possa aiutarmi!


sono le variabili, quindi devi dichiararle con syms

quel metodo funziona, l'avevo anche verifcato con quella che ottenevo da simulink.

Re: MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 8 feb 2014, 18:05
da dimaios
Mai visto il MIMO toolbox ?
Potrebbe esservi utile.

link

In particolare guardate sym2tf e tf2sym.
Inoltre trovate anche ss2sym.

Re: MATLAB: f.d.t. in forma simbolica

MessaggioInviato: 9 feb 2014, 20:27
da serbring
dimaios ha scritto:Mai visto il MIMO toolbox ?
Potrebbe esservi utile.

link

In particolare guardate sym2tf e tf2sym.
Inoltre trovate anche ss2sym.

non ero a conoscenza. Interessante.