WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Exponentialfunktion a^b (wobei a und b Variablen sind)

 

millerel
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 22.08.2013, 20:12     Titel: Exponentialfunktion a^b (wobei a und b Variablen sind)
  Antworten mit Zitat      
Moin Leute,

ich möchte gerne in Simulink folgenden Zusammenhang herstellen:

a ^ b wobei sowohl a als auch b Eingangsvariablen sind. Ich hoffe, dass dies mit den üblichen Simulinkblöcken möglich ist.

Ich bedenke mich schon mal für die Antwort im voraus Smile

VG, Michael
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 22.08.2013, 20:25     Titel:
  Antworten mit Zitat      
nimm einfach ne matlab function wenn du sonst nichts findest ^^
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.08.2013, 20:27     Titel:
  Antworten mit Zitat      
Hallo,

wenn's mit Blöcken sein soll: bei Math Function (aus Math Operations) nehmen und als Eingang b mit Gain log(a) draufgeschaltet, weil
Code:
a^b = exp(b * log(a))


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 23.08.2013, 06:40     Titel: Da hätte ich auch selber drauf kommen können ;)
  Antworten mit Zitat      
besten Dank Smile

aber eine Frage habe ich noch: @Winkow
wie kann ich dies in der Matlab function umsetzen? Kannst du mir dies mal 1x als Beispiel nennen, dann müsste ich damit auch bei anderen Problemen klar kommen.

DANKE und viele Grüße ausm Zug,
Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.08.2013, 09:17     Titel:
  Antworten mit Zitat      
Hallo,

das kann ich dir auch sagen:
MATLAB-Function Block ins Modell ziehen, Doppel-Klick und folgendes reinschreiben:

Code:
function y = hoch(a,b)
y = a^b;


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.08.2013, 09:18     Titel:
  Antworten mit Zitat      
na einfach den matlab function block reinzihen und dei funktion bearbeiten.
da kannst du alles reinschreiben und so viele ein und ausgägne haben wie du willst denke ich.

Code:
function u=myfunx(a,b)
u=a^b;
end

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 23.08.2013, 15:14     Titel:
  Antworten mit Zitat      
Hey Leute,

ich glaube ich muss mich schon für meine "Unfähigkeit" entschuldigen, aber:

Ich habe den Block "MATLAB Function" in mein Simulink Modell gezogen und mit Doppelklick im Fenster die MATLAB Fuktion "hoch(a, b)" eingetragen. Dann habe ich eine neue Funktion angelegt.
Code:
function y = hoch(a,b)
y = a^b;
end

Woher weiß Simulink nun, dass die Eingangsdaten a und b sein sollen und der Ausgangswert y beziehungsweise warum habe ich nur einen Eingangspunkt am Block und nicht 2??

Vielleicht hat einer von eine Beispiel-Datei bei der ich mir das mal anschauen kann Smile

Ganz viele Grüße und besten Dank erneut im Voraus,
Michal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.08.2013, 15:22     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich habe den Block "MATLAB Function" in mein Simulink Modell gezogen und mit Doppelklick im Fenster die MATLAB Fuktion "hoch(a, b)" eingetragen. Dann habe ich eine neue Funktion angelegt.

Wie Winkow und ich bereits schrieben: du musst die komplette Funktion direkt nach dem Doppelklick eintragen. Im Zweifelsfall kann auch ein Blick auf die Hilfe des Blocks nicht schaden...

Zitat:
Woher weiß Simulink nun, dass die Eingangsdaten a und b sein sollen und der Ausgangswert y beziehungsweise warum habe ich nur einen Eingangspunkt am Block und nicht 2??

Drück mal auf "Save", dann sollte alles aktualisiert werden, insbesondere Anzahl und Namen der Ports.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 23.08.2013, 15:32     Titel:
  Antworten mit Zitat      
Hallo,

also ich kann in dem beim Doppelklick aufgehenden Fenster nur eine Zeile eingeben. Im Help steht leider auch nicht mehr. Es handelt sich um den MATLAB Function Block und nicht etwa um S-Function oder so?

Wäre es nicht möglich, dass ich so einen funktionierenden "MATLAB Function" Block zum Download bekommen kann, dann bin ich mir SICHER, dass ich es im weitern Verlauf auch verstehen werde bzw. anwenden kann Smile

Viele Grüße erneut,
Michael

Das kann doch nicht sein, dass ich das einfach nicht hinbekomme Sad(((
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.08.2013, 16:05     Titel:
  Antworten mit Zitat      
Hallo,

welche Produkt-Version verwendest du denn?
In älteren Versionen heißt der Block, von dem wir reden, noch "Embedded MATLAB Function".

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 24.08.2013, 08:10     Titel:
  Antworten mit Zitat      
DAAAANNKKEEEEE!!!!!!!!!!! Smile

Es lag scheinbar daran, dass wir über unterschiedliche Versionen gesprochen haben =D

Nochmals besten Dank und viele Grüße,
Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 24.08.2013, 09:35     Titel:
  Antworten mit Zitat      
Hmmm, so leicht ist es wohl doch nicht Sad

Zum testen habe ich 2x constant block mit "2" und "2" auf den embedded matlab function block als eingangparameter "a" und "b" geschickt. Im Block steht:
Code:
function y = hoch(a,b)
y = a^b;
end

Den Ausgang y habe ich direkt auf ein scope geschickt.

Dann bekommen ich jedoch folgenden Fehler:

"Unable to locate 'mexopts.bat', and therefore cannot determine which compiler to use for simulation builds.
Use 'mex -setup' to select a supported compiler."
"**** Error ****"

Was habe ich denn jetzt noch falsch gemacht Sad

DANKE NOCHMALS IM VORAUS!!!

VG erneut ausm Zug,
Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.08.2013, 10:13     Titel:
  Antworten mit Zitat      
Hallo,

die Meldung ist doch klar genug?

Gib
Code:

ein, um einen Compiler auszuwählen.

Wenn du 64-bit - MATLAB installiert hast, musst du möglicherweise erst einen herunterladen, siehe hier:
http://www.mathworks.de/support/sysreq/previous_releases.html
(letzte Spalte)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
millerel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 15.08.13
Wohnort: Essen
Version: MATLAB R2014a
     Beitrag Verfasst am: 26.08.2013, 18:17     Titel:
  Antworten mit Zitat      
Ich glaube das Problem lag am 64bit System... Jetzt läuft alles TIP TOP - DANKE!!!!!!!!!!!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.