Matlab: Funktion, Werte aus dem Hauptprogramm übernehmen

Neue Frage »

mathefr Auf diesen Beitrag antworten »
Matlab: Funktion, Werte aus dem Hauptprogramm übernehmen
Meine Frage:
Ich habe eine Funktion bei matlab und würde gerne werte aus meinem Hauptprogramm in dieser funktion übernehmen, wie geht das`? Danke smile

Meine Ideen:
Meine funktion :

f=p1.*x(i,1)+p2;
die werte p1 und p2 würd eich gerne aus dem Hauptprogramm nehmen(diese wurden dort berechnet)
moody_ds Auf diesen Beitrag antworten »

Spontan würde mir einfallen die Werte aus dem Workspace zu lesen. Deine Hauptfunktion muss diese dazu vorher über geben.

assignin
https://www.mathworks.com/help/matlab/ref/assignin.html

variableValue = getVariable(workspaceHandle,variableName)
variableValue = workspaceHandle.getVariable(variableName)
https://www.mathworks.com/help/simulink/...etvariable.html

Oder du benutzt Skripte, die schreiben eh in den Workspace, dann müssten die glaube ich für das nächste Skript ebenfalls verfügbar sein.
mathefr Auf diesen Beitrag antworten »

Ich habe leider keine ahnung, wie das geht oder was das ist..
die hilfe finde ich auch nicht hilfreich ... also generell die matlab hilfen irgendwie unglücklich
moody_ds Auf diesen Beitrag antworten »

Zitat:
Original von mathefr
Ich habe leider keine ahnung, wie das geht oder was das ist..

Du musst spezifischer werden Augenzwinkern Du weißt nicht was der workspace ist oder wie man ein Skript statt einer Funktion schreibt?`

Zitat:
Original von mathefr
die hilfe finde ich auch nicht hilfreich ... also generell die matlab hilfen irgendwie unglücklich

Ich find die eigentlich ziemlich super, weil auch Beispiele dabei sind.

Zeig doch mal was du bisher hast und woran es genau hängt.
mathefr Auf diesen Beitrag antworten »

Ich weiß nicht, was der workspace ist..

Also was ich bisher habe ist diese funktion in einem extra fenster
f=p1.*x(i,1)+p2;

und in dem hauptprogramm also dem skript(?) habe ich dann einen funktionsaufruf. ich möchte diese funktion optimieren, will dem ganzen aber als startwerte zwei feste werte p1 und p2 mitgeben

wenn ich es einfach nur durchlaufen lasse ohne die werte in der funktion anzugeben kommt eine fehlermeldung mit "zu wenig inputargumente" sobald ich in der funktion selber werte für p definiere funktioniert es.
moody_ds Auf diesen Beitrag antworten »

Zitat:
Original von mathefr
Ich weiß nicht, was der workspace ist..


Bild

code:
1:
function [y1,...,yN] = myfun(x1,...,xM)

https://de.mathworks.com/help/matlab/ref/function.html

Du könntest in deiner Funktion eben p1,p2 als input Argumente mit angeben.

Und rufst dann über

code:
1:
myfun(5,10)


z.B. auf falls p1 = 5 ...

Oder verzichte eben auf eine Funktion. Nimm ein Skript

edit:

Wenn ich später an der Uni bin schreibe ich dir vielleicht ein kleines Beispiel.
 
 
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »