Sida 1 av 2

Överföringsfunktioner i Octave

Postat: 23 juni 2012, 00:02:14
av Johan.o
Är det någon som vet hur jag enklast kan utvärdera överföringsfunktioner, med bode/fas diagram som output.
Ett exempel på vad jag skulle vilja kunna göra är som i mitt Matlab exempel nedan:

Kod: Markera allt

s=tf('s');

Kp=5.385;
Td=1.342;
b=3.69;
F=Kp*((1+s*Td)/(1+((s*Td)/b)))



Gp=1/(s*(1+5*s))

L=F*Gp;

G=L/(1+L);
U=F/(1+L);


figure(1);
step(G);
figure(2);
step(U);

figure(3);
bode(L);


K=0.5

L=K*Gp;

G=L/(1+L);
U=F/(1+L);



Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 09:01:49
av 4kTRB
Finns en tutorial som ger exempel:
http://web.mit.edu/6.302/www/compare/report.html

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 11:38:22
av Johan.o

Kod: Markera allt

>>> help bode
>>>error: help: `bode' not found
>>> help tf2sys
>>>error: help: `tf2sys' not found
>>> help zp2sys
>>>error: help: `zp2sys' not found
Inga av de komandon som används där verkar finnas i Octave, behöver det läggas till något paket?

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 11:49:32
av SvenW
http://octave.sourceforge.net/control/index.html
'tf2sys' har kanske ersatts av 'tf'

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 12:03:24
av Johan.o
tf finns inte heller..

Det där control-paketet verkar ju riktigt trevligt. Måste vara det som saknas, frågan är bara om jag laddar ner filen på den sidan hur får jag då in det i Ocrtave på min Windows dator?

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 12:47:50
av sodjan
> >>> help bode

>>> help (bode) ??

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 13:32:02
av SvenW
hur får jag då in det i Ocrtave på min Windows
Det komplicerar saken.
Kanske finns det något här:
http://www.octave.org/wiki/index.php?ti ... or_Windows

Ett alternativ är att använda en äldre version av Octave. I min version:
"GNU Octave, version 3.0.5
Copyright (C) 2008 John W. Eaton and others."
finns de efterfrågade sakerna utan att man behöver ladda ner något extra paket.
(I form av skriptfiler 'bode.m' ...)

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 13:55:34
av Johan.o
Nu har jag lyckats installera control paketet, och det finns med när man skriver pkg list.
Men ändå fungerar inte bode, tf mfl..

Vart hittar jag en så gammal version av Octave?

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 14:17:39
av 4kTRB
Det finns en, vad det verkar, bra supportsida: http://www.gnu.org/software/octave/support.html

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 16:00:20
av Johan.o
Nu har jag installerat OM den om senaste versionen av Octave, och förvalde alla paket vid installationen..
Men det fungerade inte. Sedan installerade jag version 3.0.5, och där fungerar tf, bode mfl!

Tack för hjälpen, någon som vet hur jag kör en m-fil från Octave prompten?

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 16:04:29
av 4kTRB
En annan väg är att anropa gnuplot (som Octave baseras på) via tex C++.
Om du nu behärskar C++ vill säga.

http://www.gnuplot.info/links.html
http://www.stahlke.org/dan/gnuplot-iostream/

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 16:09:33
av blueint
@Johan.o, Vilken version hadde du ursprungligen när du frågade?

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 16:15:59
av Johan.o
octave-3.6.2-vs2010

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 17:57:33
av Johan.o
Fast jag lyckas verkligen inte köra m-filer, surt som sjutton. Blir ju hopplöst att jobba med något då..

Re: Överföringsfunktioner i Octave

Postat: 23 juni 2012, 18:21:49
av SvenW
Normalt, om man skriver 'namn.m' från octave-prompten
så tolkas filen som ett skript.
Det kan också fungera med enbart 'namn' utan '.m'

Man kan också använda source:
-- Built-in Function: source (FILE)
Parse and execute the contents of FILE. This is equivalent to
executing commands from a script file, but without requiring the
file to be named `FILE.m'.

Hur octave hittar .m-filerna under Windows har jag ingen aning om.
I min Linux ligger de under 'usr/share/octave/3.0.5/m'