funzioni di trasferimento trascendenti in matlab...come?

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

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteTheClue
0 2
Messaggi: 5
Iscritto il: 7 feb 2008, 11:50
Località: salerno, it
Contatta:
0
voti

[1] funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto UtenteTheClue » 7 feb 2008, 13:07

salve a tutti!

in una simulazione simulink ho da introdurre in serie ad un anello di controllo un ricostruttore ad uscita continua espresso mediante la seguente funzione di trasferimento:

s = tf('s');
Z = (1/Tc)*((1 - Exp(-s*Tc))/s)^2

con Tc il periodo di campionamento

ottengo però il seguente errore:

Codice: Seleziona tutto

??? Function 'exp' is not defined for values of class 'tf'.

Error in ==> exp at 15
  [varargout{1:nargout}] = builtin('exp', varargin{:});


come posso ovviare?

Avatar utente
Foto Utentedario
430 4 12
Expert EY
Expert EY
Messaggi: 394
Iscritto il: 11 mag 2006, 16:03
Località: Napoli
Contatta:
0
voti

[2] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedario » 7 feb 2008, 14:45

Nel tuo caso non comparendo come prodotto per la funzione di trasferimento penso che l'unica soluzione sia quella di utilizzare le approssimanti di Padé per l'esponenziale.
Souliss Piattaforma di sviluppo open-source per IoT.

"Un esperto è un uomo che ha fatto tutti gli errori che è possibile compiere in un campo molto ristretto." N. Bohr

Saluti,
Dario.

Avatar utente
Foto UtenteTheClue
0 2
Messaggi: 5
Iscritto il: 7 feb 2008, 11:50
Località: salerno, it
Contatta:
0
voti

[3] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto UtenteTheClue » 7 feb 2008, 14:58

il fatto è che con l'approssimazione di pade' posso modellizzare discretamente un ricostruttore di ordine zero...ma per il ricostruttore ad uscita continua?

Avatar utente
Foto Utentedario
430 4 12
Expert EY
Expert EY
Messaggi: 394
Iscritto il: 11 mag 2006, 16:03
Località: Napoli
Contatta:
0
voti

[4] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedario » 7 feb 2008, 23:48

Allora, non conoscevo il ricostruttore ad uscita continua e quindi mi sono documentato.
Se devi simulare un sistema di controllo e vuoi utilizzare un ricostruttuore, non ti serve utilizzare la funzione di trasferimento, il cui scopo è quello di caratterizzare il comportamento in frequenza del blocco di ricostruzione.
L'operazione che devi effettuare è semplicemente quella di utilizzare l'equazione ricorsiva del ricostruttore, così come faresti se dovessi implementare il ricostruttore su un dispositivo digitale.

In ambiente MATLAB sarebbe molto semplice realizzarlo, in Simulink può essere più complicato perché non hai il campione al passo precedente.
Ti consiglio di realizzare una function che implementi l'algoritmo del controllore digitale ed il ricostruttore, utilizzando poi i blocchi MATLABfunction importi la funzione all'interno del Simulink. Forse così dovresti riuscire ad aggirare il problema.
Souliss Piattaforma di sviluppo open-source per IoT.

"Un esperto è un uomo che ha fatto tutti gli errori che è possibile compiere in un campo molto ristretto." N. Bohr

Saluti,
Dario.

Avatar utente
Foto UtenteTheClue
0 2
Messaggi: 5
Iscritto il: 7 feb 2008, 11:50
Località: salerno, it
Contatta:
0
voti

[5] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto UtenteTheClue » 12 feb 2008, 11:58

ok, ho fatto cosi' ^^ nn era esattamente quello che avevo in mente, ma funziona :)

mille grazie!

Avatar utente
Foto Utentedona79
20 2 2 4
Master EY
Master EY
Messaggi: 2431
Iscritto il: 24 mag 2005, 17:29
0
voti

[6] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedona79 » 16 feb 2008, 17:32

secondo me se scrivevi semplicemente s=jw arginavi il problema sin dall'inizio

Avatar utente
Foto Utentedario
430 4 12
Expert EY
Expert EY
Messaggi: 394
Iscritto il: 11 mag 2006, 16:03
Località: Napoli
Contatta:
0
voti

[7] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedario » 16 feb 2008, 18:03

Il problema è diverso, le 'tf' MATLAB non permettono di scrivere una funzione di trasferimento come quella inserita nel primo post.
Al massimo si può inserire un ritardo sull'uscita, ma nulla di più.

Ponendo s=jw cosa avrebbe risolto?
Souliss Piattaforma di sviluppo open-source per IoT.

"Un esperto è un uomo che ha fatto tutti gli errori che è possibile compiere in un campo molto ristretto." N. Bohr

Saluti,
Dario.

Avatar utente
Foto Utentedona79
20 2 2 4
Master EY
Master EY
Messaggi: 2431
Iscritto il: 24 mag 2005, 17:29
0
voti

[8] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedona79 » 16 feb 2008, 18:20

che non serviva passare attraverso la trasfer function. matlab riconosce j od i come variabile complessa.

Avatar utente
Foto Utentedario
430 4 12
Expert EY
Expert EY
Messaggi: 394
Iscritto il: 11 mag 2006, 16:03
Località: Napoli
Contatta:
0
voti

[9] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedario » 17 feb 2008, 2:06

Se non la dichiari come funzione di trasferimento non ci combini nulla.
Il suo scopo era quello di filtrare un segnale tramite quella funzione di trasferimento, senza dichiararla come 'tf' poteva ricavare solo la risposta a regime per segnali sinusoidali, rappresentata come fasore...
Souliss Piattaforma di sviluppo open-source per IoT.

"Un esperto è un uomo che ha fatto tutti gli errori che è possibile compiere in un campo molto ristretto." N. Bohr

Saluti,
Dario.

Avatar utente
Foto Utentedona79
20 2 2 4
Master EY
Master EY
Messaggi: 2431
Iscritto il: 24 mag 2005, 17:29
0
voti

[10] Re: funzioni di trasferimento trascendenti in matlab...come?

Messaggioda Foto Utentedona79 » 17 feb 2008, 19:17

cioè voleva vederla nel tempo o in freq?
se voleva vederla in freq allora bastava scriverla come jw, farsi un asse delle frequenze e plottarne, ovviamente, il modulo.


Torna a “Programmi applicativi: simulatori, CAD ed altro”