Um den code "mintersect" zu benutzen habe ich mir gedacht das ich immer eine neue "list" erstelle bei den vorhandenen "schlüßelwörter"
und dann da durchlaufen lasse und er "sortiert" mir das dann aus.
wie sollte ich das dann da schreiben bzw. wie den funktions aufruf machen ?
z.B. files mit dem inhalt: files mit dem nameninhalt 1800(list1) und files mit dem namen inhalt1200(list2)
JaSoIstEs
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.09.2012, 14:50
Titel:
Ein Beispiel wie ich das auf papier oder manuell mit intersect lösen würde aber weiß nicht wie ich das mit einer Anzahl von 0-60 checkboxes mach da jede check box eine andere namens eigenschaft sucht.
im prinzip brauch ich eine "haupt"- Eigenschaften die alle nahmen enthalten
mit der ich dann arbeite.
list1 = Haupteigenschaft
list2 und list3 sind aus einer kategorie
list4 eine andere.
list5 eine andere.
Deshalb bekommst du ja keine Files, weil die Benutzung von MINTERSECT bedeutet, dass alle diese Schlüssel vorkommen müssen.
Und auch bei REGEXP habe ich so verfahren, also bitte hier klar stellen was erreicht werden soll.
Zitat:
Ein Beispiel wie ich das auf papier oder manuell mit intersect lösen würde aber weiß nicht wie ich das mit einer Anzahl von 0-60 checkboxes mach da jede check box eine andere namens eigenschaft sucht.
Da hast zu kompliziert gedacht, das ist schwer.
Du muss nach Gemeinsamkeiten suchen vllcht Checkboxen aufteilen:
auf Eigenschaft UND und Eigenschaft ODER, dann müssen Verknüpfungen überlegt werden:
Code:
key ={'PGN','Ibrahim','Michael','1400'}
list = dir(fullfile(FilePath,['*.*']));
list = {list(~[list.isdir]).name};
funktioniert prima, genau wie ich es haben möchte. Danke.
Ich habe ja wie gesagt 4 Kategorien mit unterschiedlich vielen checkboxen.
Wie bau ich das jetzt so flexibel zusammen ??
so wäre es glaube ich eine Variante:
pos=(Kat.1) & (Kat2) & (Kat3) & (Kat.4)
und innerhalb den Kategorien mach ich Oder-Verknüpfungen.
z.B.
pos=(a1|a2) & (b1|b2|b3|b4) usw.
es soll möglich sein nur 1 checkbox zu wählen oder alle (momentan) 13 checkboxen.
habe überlegt das mit dem befehl "eval" zu machen. bei bestimmten situationen die "pos" zusammenzustellen. Aber ich wüßte jetzt nicht wie ich das "gut" und einfach mti den verknüpfungen machen soll.
if Status11==1
keys=[keys,'key11',','] end if Status12==1
keys=[keys,'key12',','] end if Status21==1
keys=[keys,'key21',','] end if Status22==1
keys=[keys,'key22',','] end if Status31==1
keys=[keys,'key31',','] end if Status32==1
keys=[keys,'key32',','] end if Status33==1
keys=[keys,'key33',','] end if Status34==1
keys=[keys,'key34',','] end if Status35==1
keys=[keys,'key35',','] end if Status36==1
keys=[keys,'key36',','] end if Status41==1
keys=[keys,'key41',','] end if Status42==1
keys=[keys,'key42',','] end if Status43==1
keys=[keys,'key43',','] end
FilePath = uigetdir('C:\Dokumente und Einstellungen\AVB2T4N\Desktop\Mess-Files\KW_35_FA_PT6_Probanden_Voruntersuchung_3108_2012','Auswahl Datenordner');
list = dir(fullfile(FilePath,['*.*']));
list = {list(~[list.isdir]).name};
Hallo
besser gleich in CELLs/ARRAYs ablegen.
Dann wäre die Verwaltung minimaler.
Du hast doch Checkboxen?
Dann kann man in Property USERDDATA z.b. die Feldnummer ablegen.
Dadurch kann man nur ein Callback nutzen
Code:
function OpeningFcn(hObject, eventdata, handles, varargin)
handles.keys = cell(1,60);
% Kategorien kann man als logische Array anlegen, wo 1 bedeuten würde % dass an der Stelle die Checkbox in dieser Kategorie liegt
handles.kat1 = false(1,60);
handels.kat1(1:15)=true;
handles.kat2 = false(1,60);
handels.kat2(16:30)=true;
handles.kat3 = false(1,60);
handels.kat3(31:45)=true;
handles.kat4 = false(1,60);
handels.kat1(46:60)=true;
function CheckBox_Callback(hObject,eventdata, handles)
keynumber = get(hObject,'Userdata');
ifget(hObject,'Value')
handles.keys{keynumber } = get(handles.(sprintf('edit%d',keynumber ))) else
handles.keys{keynumber } =[];
end
FilePath = uigetdir('C:\Dokumente und Einstellungen\AVB2T4N\Desktop\Mess-Files\KW_35_FA_PT6_Probanden_Voruntersuchung_3108_2012','Auswahl Datenordner');
list = dir(fullfile(FilePath,['*.*']));
list = {list(~[list.isdir]).name};
function OpeningFcn(hObject, eventdata, handles, varargin)
handles.keys = cell(1,60);
% Kategorien kann man als logische Array anlegen, wo 1 bedeuten würde % dass an der Stelle die Checkbox in dieser Kategorie liegt
handles.kat1 = false(1,60);
handels.kat1(1:15)=true;
handles.kat2 = false(1,60);
handels.kat2(16:30)=true;
handles.kat3 = false(1,60);
handels.kat3(31:45)=true;
handles.kat4 = false(1,60);
handels.kat4(46:60)=true;
Aber hier nicht so ganz. Das füge ich jetzt in all meine "function Checkbox" ein ?
Wird die Keynumber automatisch hinzugefügt ? oder wie kann ich mir das hier vorstellen ?
Code:
function CheckBox_Callback(hObject,eventdata, handles)
keynumber = get(hObject,'Userdata');
ifget(hObject,'Value')
handles.keys{keynumber } = get(handles.(sprintf('edit%d',keynumber ))) else
handles.keys{keynumber } =[];
end
function Michael_Callback(hObject, eventdata, handles) % hObject handle to Michael (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if(get(hObject,'Value') == get(hObject,'Max'))
key2 = 'Michael';
assignin('base','key2',key2);
else evalin('base','clear key2');
end
Oder wo ich schreibe ich den Inhalt der "keys" rein
Wie hast du das bisher gemacht? Ich dachte du hast EDIT-Felder, wo man die Schlüssel eingeben kann?
JaSoIstEs
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.09.2012, 12:57
Titel:
Ne bis jetzt habe ich jedem "key" einen festen wert bzw. string zugeteilt.
Habe heute mit dem gedanken gespielt zusätzlich in jeder Kategorie ca. 2 checkboxes einzufügen die je nach belieben was eingefügt werden kann un dann dieser "key" erstellt wird.
Sorry fals da was missverstanden wurde.
So habe ich jetzt drin stehen :
Code:
function Ibrahim_Callback(hObject, eventdata, handles) % hObject handle to Ibrahim (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
Sorry aber iwie bin ich jetzt total durcheinander.
Code:
function Neutest_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Neutest (see VARARGIN)
% Choose default command line output for Neutest
handles.output = hObject;
% Kategorien kann man als logische Array anlegen, wo 1 bedeuten würde % dass an der Stelle die Checkbox in dieser Kategorie liegt
handles.kat1 = false(1,60);
handels.kat1(1:15)=true;
handles.kat2 = false(1,60);
handels.kat2(16:30)=true;
handles.kat3 = false(1,60);
handels.kat3(31:45)=true;
handles.kat4 = false(1,60);
handels.kat4(46:60)=true;
% UIWAIT makes Neutest wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. functionvarargout = Neutest_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in test. function test_Callback(hObject, eventdata, handles) % hObject handle to test (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
keynumber = get(hObject,'Userdata');
ifget(hObject,'Value')
handles.keys{keynumber } = get(hObject,'Tag') else
handles.keys{keynumber } =[];
end
% Hint: get(hObject,'Value') returns toggle state of test
hab jetzt einfach mal eine test gui erstellt, bei tag test reingeschrieben.
aber ich begreife gerade nicht wo z.B. wo der name des key hier angewendet wird oder wo ich die Variable drin habe. ich brauch ja jetzt iwas wie bei mir assignin('base'....). bei mir hab ich das ja verstanden aber hier blicke ich gerade nicht durch, sorry.
JaSoIstEs
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.09.2012, 13:46
Titel:
Hab dir einfach mal meine Gui m file und fig hochgeladen
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
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.