|
|
Variable benutzen bevor sie definiert wurde |
|
Help_! |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 18.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2018, 09:59
Titel: Variable benutzen bevor sie definiert wurde
|
|
|
|
|
Hallo,
ich hoffe irgendwer kann mir weiterhelfen bei meinem folgenden Problem.
Ich will eine Funktion schreiben mit einigen outputs und einigen inputs, jedoch will ich bei den Inputs eine Variable eingeben (der Benutzer des Programm), die aber erst später geladen wird.
function [out_time_17,out_time_18,out_var_1_17,out_var_1_18,out_onesv_17,out_onesv_18] = ...
value_time(in_hour_bottom_17,in_hour_top_17,in_hour_bottom_18,in_hour_top_18,in_date_17,in_date_18,in_month_17,in_month_18,in_var_1_17,in_var_1_18)
for ii = 1:in_month_17
for jj = 1:in_date_17
if jj==1
load(['17_0' num2str(ii) '_0' num2str(jj) '.mat']) %hier wird in_var_1_17 geladen
zwischen_t=datetime(time_as_serialnumber,'ConvertFrom','datenum');
t_hour=zwischen_t.Hour;
t_hour=in_hour_bottom_17<t_hour & t_hour<in_hour_top_17;
zwischen_out_onesv_17=t_hour(t_hour~=0);
zwischen_out_var_1_17=in_var_1_17 .* t_hour;
zwischen_out_var_1_17=zwischen_out_var_1_17(zwischen_out_var_1_17~=0);
t=datenum(zwischen_t).*t_hour;
t=t(t~=0);
out_var_1_17=zwischen_out_var_1_17;
out_time_17=t;
out_onesv_17=zwischen_out_onesv_17;
elseif 1<jj && jj<10
und so weiter und so fort
Vielen Dank
|
|
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2018, 10:55
Titel:
|
|
Ich verstehe dein Problem nicht ganz.
Du übergibst die Variable als Argument an die Funktion, an späterer Stelle wird sie aber noch einmal geladen und überschreibt das Argument? Wenn du die Variable ohnehin lädst, brauchst du sie nicht als Argument auflisten.
|
|
|
Help_! |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 18.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2018, 11:37
Titel:
|
|
Der Benutzer soll die Möglichkeit haben über die Input Argumente zu steuern welche Variable bearbeitet wird (in_var_1_17) ist sozusagen nur ein Platzhalter. In dem geladenen file stecken nämlich mehrere hundert Variablen.
Als Beispiel:
[out_time_17,out_time_18,out_var_1_17,out_var_1_18,out_onesv_17,out_onesv_18] = ...
value_time(7,22,7,22,5,5,2,2,T_A,T_A)
und dann soll die Funktion erkennen welche Variable aus allen geladenen beachtet werden soll
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2018, 12:20
Titel:
|
|
Du möchtest also dass das Argument festlegt welche der Variablen in dem .mat file für die Berechnung genutzt wird?
Das geht indem du den Variablennamen als string übergibst und anschließend die Funktion eval() benutzt. Also z.B.
|
|
|
|
|
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.
|
|