|
|
.m - file aus anderem Ordner einer Function übergeben |
|
TomF |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 22.02.17
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 17:30
Titel: .m - file aus anderem Ordner einer Function übergeben
|
|
Hallo zusammen,
da dies mein erster Beitrag hier im Forum ist, verzeit mir bitte Fehlerhafte Beschreibungen oder ähnliches.
Ich bin momentan dabei, eine function (getPrestrain) zu schreiben, der ich ein bereits existierendes .m-file (member1 vom Typ member) übergeben möchte, welches jedoch in einem anderen Ordner (FlexAnalysis) liegt.
Mein Versuch sah zunächst so aus:
Wenn ich nun aber die function ausführern möchte:
kommt der Fehler:
"Undefined function or variable 'member1'."
Wie kann ich dieses Problem lösen?
Vielen Dank im Voraus!
_________________
Beste Grüße
TomF
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 17:43
Titel:
|
|
Hallo,
mit den gegebenen Informationen finde ich es schwierig, da zu helfen. Insbesondere ist mir der Zweck der Pfadwechsel nicht klar.
Funktionen werden grundsätzlich als Function Handles übergeben, also @member1.
Falls das nicht weiterhilft, bitte genauere Informationen zu member1.m und wie die Variable member in getPrestrain verwendet wird.
Grüße,
Harald
|
|
|
TomF |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 22.02.17
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 17:54
Titel:
|
|
Ok, ich hole mal ein bischen weiter aus ^^
Es geht darum, dass ich eine Nachweisführung mit Matlab durchrechnen lassen möchte, die sich in verschiedene Einzerlnachweise untergliedert.
Hier einmal meine Ordnerstruktur im Anhang als Bild.
Die function member1.m erzeugt im endeffekt nur ein Bauteil mit geometrischen und physikalischen Eigenschaften (siehe Anhang).
Nun habe ich aber meine Bauteile (member1 und member2) in einem anderen Ordner liegen, als die function getPrestrain, die die Dehnung des Bauteils berechnet.
Meine Frage also noch einmal allgemeiner:
Wie kann ich meiner function getPrestrain meine Bauteile übergeben, die im Ornder models liegen?
Vielen Dank für die schnelle Antwort!
Beschreibung: |
|
Download |
Dateiname: |
ornderstruktur.PNG |
Dateigröße: |
7.2 KB |
Heruntergeladen: |
180 mal |
Beschreibung: |
|
Download |
Dateiname: |
member1.m |
Dateigröße: |
2.78 KB |
Heruntergeladen: |
205 mal |
_________________
Beste Grüße
TomF
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 18:05
Titel:
|
|
Hallo,
gut, das @ ist in dem Fall nicht notwendig, weil du die Funktion direkt aufrufen kannst.
Es sollte reichen, das Verzeichnis mit der Funktion auf den Suchpfad zu legen. Möglichkeiten dazu sind
addpath
oder
pathtool
.
Grüße,
Harald
|
|
|
TomF |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 22.02.17
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 19:09
Titel:
|
|
Hallo Harald,
addpath habe ich ja schon ausprobiert (siehe erster Beitrag). Das Problem ist dabei, dass die Funktion gar nciht soweit läuft. Es geht nur, wenn ich addpath... vor dem ausführen der function in das commandwindow eingebe. Ich hatte nur gehofft, dass es eine Möglichkeit gibt, dies in der function zu integrieren.
Vielen Dank nochmal!
_________________
Beste Grüße
TomF
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 20:24
Titel:
|
|
Hallo,
nein, weil addpath verwendet worden sein muss, bevor die Funktion verwendet werden soll.
Du könntest höchstens den Funktionsnamen als String übergeben und dann in der Funktion z.B. mit str2func ein Function Handle daraus machen:
und der Aufruf dann mit
Das ist aber eher unschön. Ich würde wirklich empfehlen, die Pfadprobleme außerhalb der Funktion zu lösen.
Grüße,
Harald
|
|
|
TomF |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 22.02.17
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 20:49
Titel:
|
|
Hallo Harald,
vielen dank für deine Hilfe.
Ich werde mir wohl ein am Ende ein Skript schreiben, dass zu Beginn die Ordner added und dannn nacheinander alle functions ausführt.
Besten Dank nochmal
_________________
Beste Grüße
TomF
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 21:05
Titel:
|
|
Hallo,
das ist eine sinnvolle und sehr übliche Lösung.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|