goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Mathematik mit MATLAB

Studierende:
Praktikant / Werkstudent Nachrichtentechnik (m/w)
Telefonanbieter
OnePhone Deutschland GmbH - Erkrath

Praktikant: Entwicklung eines numerischen Optimierers zur Modellkalibrierung unterschiedlicher Abgasnachbehandlungs-Systeme (m/w)
Fahrzeugtechnik
MBtech Group GmbH & Co. KGaA - Fellbach

Projektunterstützung bei Wärmeberechnungen
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Friedrichshafen

Abschlussarbeit Entwicklung einer Ausgangsstufe für einen PV-Wechselrichter
Energieversorgung
SMA Solar Technology AG - Niestetal

Praktikum Automatisierung von Typtests für PV-Wechselrichter
Solartechnik
SMA Solar Technology AG - Niestetal

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

In Scicos Scilab-Code verwenden

 

newinscilab
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2010, 23:04     Titel: In Scicos Scilab-Code verwenden
  Antworten mit Zitat      
Hallo liebe Forenmitglieder,

meine Frage ist sicher banal, dennoch habe ich im Netz keine Hilfe gefunden.

Ich möchte in Scicos eine Simulation aufbauen. Dazu möchte ich in Scilab geschriebene Programme oder Funktionen, welche kompexe Berechnungen beinhalten, in einem Block unter Scicos einbinden. Mein erster Verdacht viel auf den scifunc - Block, nur hat der mich nicht wirklich ans Ziel gebracht. (Ich habe nicht verstanden, wie ich meinen Code einbinde.) Habt Ihr einen Tip für mich?

Beste Grüße und besten Dank schon mal im Vorraus


aj.geissler
Forum-Century
Forum-Century


Beiträge: 230
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 21.10.2010, 07:25     Titel:
  Antworten mit Zitat      
Hallo,

einen eigenen Scicos-Block zu definieren, erfordert ein bisserl Übung.
Schau Dir z.B. mal den Block für die Aufspaltung einer komplexen Zahl in Real- und Imaginärteil an
(SCI/macros/scicos_blocks/MatrixOp/MATZREIM.sci)

Der Quellcode für matzreim.sci ist selbst für diese scheinbar einfache Aufgabe recht umfangreich:

Code:

function [x,y,typ]=MATZREIM(job,arg1,arg2)
//
// Copyright INRIA
x=[];y=[];typ=[];
select job
case 'plot' then
  standard_draw(arg1)
case 'getinputs' then
  [x,y,typ]=standard_inputs(arg1)
case 'getoutputs' then
  [x,y,typ]=standard_outputs(arg1)
case 'getorigin' then
  [x,y]=standard_origin(arg1)
case 'set' then
  x=arg1
  model=arg1.model;graphics=arg1.graphics;label=graphics.exprs
  if size(label,'*')==14 then label(9)=[],end //compatiblity
  while %t do
    [ok,decomptyp,lab]=getvalue('Set MATZREIM block parameters',['decomposition type (1=Complex2Real&Imag 2=Real&Imag2Complex)'],list('vec',1),label)
    if ~ok then break,end
    label=lab
   if (decomptyp==1) then
      junction_name='matz_reim';
      in=[-1 -2];
      it=2;
      out=[-1 -2;-1 -2];
      ot=[1 1];
   elseif (decomptyp==2) then
      junction_name='matz_reimc';
      in=[-1 -2;-1 -2];
      it=[1 1];
      out=[-1 -2];
      ot=2;
   else message('decomposition type is not supported');ok=%f;
    end
   funtyp=4;
    if ok then
   [model,graphics,ok]=set_io(model,graphics,list(in,it),list(out,ot),[],[])
    end
    if ok then
      model.sim=list(junction_name,funtyp);
      arg1.model=model
      graphics.exprs=label
      arg1.graphics=graphics
      x=arg1
      break
    end
  end
case 'define' then
  model=scicos_model()
  junction_name='matz_reim';
  funtyp=4;
  model.sim=list(junction_name,funtyp)
  model.in=-1
  model.in2=-2
  model.intyp=2
  model.out=[-1;-1]
  model.out2=[-2;-2]
  model.outtyp=[1 1]
  model.evtin=[]
  model.evtout=[]
  model.state=[]
  model.dstate=[]
  model.rpar=[]
  model.ipar=[]
  model.blocktype='c'
  model.firing=[]
  model.dep_ut=[%t %f]

  label=sci2exp(1)
  gr_i=['xstringb(orig(1),orig(2),''Re&Im'',sz(1),sz(2),''fill'');']
  x=standard_define([3 2],model,label,gr_i)
end
endfunction
 


Bitte in der SciLab-Hilfe im Scicos-Kapitel (für Version 4.1.2) bzw. XCOS-Kapitel (Scilab 5.X) nachschauen.

Grüße
Andreas
_________________

Andreas Geißler
Private Nachricht senden Benutzer-Profile anzeigen
 
scicoslab_team
Forum-Newbie
Forum-Newbie

Beiträge: 1
Anmeldedatum: 21.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2010, 10:27     Titel: Re: In Scicos Scilab-Code verwenden
  Antworten mit Zitat      
As Andreas has indicated, you can build your block using Scilab code. You need to take a "SciBLK" block in the "Others" Palette. Then you have to set the parameters of the block such as the name of the function, input/output port sizes, etc.

Hope this helps.
Private Nachricht senden Benutzer-Profile anzeigen
 
newinscilab
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2010, 12:49     Titel:
  Antworten mit Zitat      
Hallo,

Ich danke Euch für die schnelle Hilfe. Ich werde es versuchen.
 
newinscilab
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2010, 10:57     Titel: In Scicos Scilab-Code verwenden
  Antworten mit Zitat      
Hallo,

leider bin ich noch nicht weitergekommen.
Ich habe in Scilab eine funktion geschrieben, der man 6 werte übergeben muss, die dann eine Berechnung durchführt und ein Eergebniss zurückgibt.
Ist es möglich auf einfachem Wege diese Funktion in scicos / Xcos in einen Block einzubauen, der dann 6 eingänge und einen ausgang hat?

Beste Grüße und Dank schon mal im Vorraus
 
roberto.bucher@supsi.ch
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2010, 12:57     Titel:
  Antworten mit Zitat      
Erstens, wenn Du simulieren willst, vergisst im Moment Scilab und Xcos und benuetzt bitte Scicoslab (z.B version 4.4b7 auf www.scicoslba.org). Du wirdst sicher viel Zeit und anders sparen...

Fuer die Benuetzung von SciFunc bloecke in einem Block Diagram, kannst Du das beigelegte Beispiel benuetzen, das zwei input von je 3000 signale bekommt und eine vekot multiplication durchfuehrt jede 3 Sek. und das resultat auf einem scope darstellt. Es ist sehr einfach zu testen:
1) Oeffne Scicoslab
2) Laedt die function fuer das SciFunc block mit "getf myfun.sci"
3) Starte das Scicos editor mit "scicos test)
4) Starte die Simulation

MfG
Roberto

myfun.sci.zip
 Beschreibung:

Download
 Dateiname:  myfun.sci.zip
 Dateigröße:  5.77 KB
 Heruntergeladen:  127 mal
 
TheSaint
Forum-Anfänger
Forum-Anfänger

Beiträge: 13
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2011, 10:52     Titel:
  Antworten mit Zitat      
roberto.bucher@supsi.ch hat Folgendes geschrieben:
Erstens, wenn Du simulieren willst, vergisst im Moment Scilab und Xcos und benuetzt bitte Scicoslab (z.B version 4.4b7 auf www.scicoslba.org). Du wirdst sicher viel Zeit und anders sparen...

Warum spart Scicoslab gegenüber Xcos Zeit? Gibt es noch andere Meinungen dazu??
Private Nachricht senden Benutzer-Profile anzeigen
 
ericson
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 09.11.11
Wohnort: Schweiz
Version: ---
     Beitrag Verfasst am: 16.11.2011, 12:14     Titel: scicosLab lernen
  Antworten mit Zitat      
[quote="roberto.bucher@supsi.ch"]Erstens, wenn Du simulieren willst, vergisst im Moment Scilab und Xcos und benuetzt bitte Scicoslab (z.B version 4.4b7 auf www.scicoslba.org). Du wirdst sicher viel Zeit und anders sparen...

Fuer die Benuetzung von SciFunc bloecke in einem Block Diagram, kannst Du das beigelegte Beispiel benuetzen, das zwei input von je 3000 signale bekommt und eine vekot multiplication durchfuehrt jede 3 Sek. und das resultat auf einem scope darstellt. Es ist sehr einfach zu testen:
1) Oeffne Scicoslab
2) Laedt die function fuer das SciFunc block mit "getf myfun.sci"
3) Starte das Scicos editor mit "scicos test)
4) Starte die Simulation

MfG
Roberto[/quote]
Private Nachricht senden Benutzer-Profile anzeigen
 
TheSaint
Forum-Anfänger
Forum-Anfänger

Beiträge: 13
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 11:34     Titel:
  Antworten mit Zitat      
Hallo Ericson,

in dem Post kann ich DEINE Aussage nicht erkennen. Was kannst du dem Beitrag hinzufügen?
Private Nachricht senden Benutzer-Profile anzeigen
 
ericson
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 09.11.11
Wohnort: Schweiz
Version: ---
     Beitrag Verfasst am: 18.11.2011, 12:07     Titel: Xcos: Suche Zugang zu den Parametern in Blocks
  Antworten mit Zitat      
Hallo,
ich wollte dem Roberto eine Frage stellen, aber wahrscheinlich habe ich etwas falsch gemacht, die Frage ist nicht erschienen.
Also: der von Roberto vorgeschlagene Weg über ScicosLab ist vielversprechend und ich möchte es besser lernen. Finde aber zu wenig für mich verständliche Dokumentation. Wie lernt ein Anfänger ScicosLab?
Gruss
Ericson
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.