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

Verbesserungungen benötigt. Geburtstagsplan

 

zerocool112
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 21.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2010, 22:42     Titel: Verbesserungungen benötigt. Geburtstagsplan
  Antworten mit Zitat      
Hallo nochmal,
ich hab jetzt Einiges geschafft zu programmieren, hab jetzt aber noch ein paar fragen zur Optimierung.

Also:
1. wie schaffe ich es das automatisch Strukturen wie F(1), F(2) usw. erstellt werden?
2. Was muss ich eingeben damit das Programm nach dem Durchlauf wieder zur Starteingabe kommt?
3. Ist es möglich das zu umzuschreiben das man nicht zwölf mal eine If Struktur baut sondern nur eine die flexibel ist?
4. Wo kann man das Programm sonst noch verbessern und verkürzen bzw. flexibler machen für größere Datenbanken?
Angefügt hab ich die Excel Tabelle und das M-file.
So und hier nochmal der Code:
Code:
%% Aufgabe 2.2
%Erstellen Sie eine Matlab-Struktur freunde mit den Eigenschaften Name,
%Vorname, Adresse und Geburtsdatum und füllen Sie sie mit zehn fiktiven
%Personen.
%Schreiben Sie dann eine Matlab-Funktion f( freunde, monat ), die alle
%Personen ausgibt, die im Monat monat Geburtstag haben.

%%
clc
clear
[NUMERIC,TXT,RAW]=XLSREAD('Mappe1.xls');

F(1)=struct('Name',[RAW(1,1)],'Vorname',[RAW(1,2)],'Adresse',[RAW(1,3)],'Geburtstagsmonat',[RAW(1,4)]);
F(2)=struct('Name',[RAW(2,1)],'Vorname',[RAW(2,2)],'Adresse',[RAW(2,3)],'Geburtstagsmonat',[RAW(2,4)]);
F(3)=struct('Name',[RAW(3,1)],'Vorname',[RAW(3,2)],'Adresse',[RAW(3,3)],'Geburtstagsmonat',[RAW(3,4)]);
F(4)=struct('Name',[RAW(4,1)],'Vorname',[RAW(4,2)],'Adresse',[RAW(4,3)],'Geburtstagsmonat',[RAW(4,4)]);
F(5)=struct('Name',[RAW(5,1)],'Vorname',[RAW(5,2)],'Adresse',[RAW(5,3)],'Geburtstagsmonat',[RAW(5,4)]);
F(6)=struct('Name',[RAW(6,1)],'Vorname',[RAW(6,2)],'Adresse',[RAW(6,3)],'Geburtstagsmonat',[RAW(6,4)]);
F(7)=struct('Name',[RAW(7,1)],'Vorname',[RAW(7,2)],'Adresse',[RAW(7,3)],'Geburtstagsmonat',[RAW(7,4)]);
F(8)=struct('Name',[RAW(8,1)],'Vorname',[RAW(8,2)],'Adresse',[RAW(8,3)],'Geburtstagsmonat',[RAW(8,4)]);
F(9)=struct('Name',[RAW(9,1)],'Vorname',[RAW(9,2)],'Adresse',[RAW(9,3)],'Geburtstagsmonat',[RAW(9,4)]);
F(10)=struct('Name',[RAW(10,1)],'Vorname',[RAW(10,2)],'Adresse',[RAW(10,3)],'Geburtstagsmonat',[RAW(10,4)]);

%%
Suchmonat=input('Nach welchem Monat suchen sie?\n Geben Sie eine Zahl zwischen 1 und 12 ein.\n')
if Suchmonat==1     %zeige Personen die im Monat Januar geboren sind.
    for n=[1:10];
           
            if NUMERIC(n,1)==1
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end
end
%%
if Suchmonat==2     %zeige Personen die im Monat Februar geboren sind.
    for n=[1:10];
           
            if NUMERIC(n,1)==2
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end
end
%%
if Suchmonat==3     %zeige Personen die im Monat März geboren sind.
    for n=[1:10];
           
            if NUMERIC(n,1)==3
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end
end
%%
if Suchmonat==7     %zeige Personen die im Monat Juli geboren sind.
    for n=[1:10];
           
            if NUMERIC(n,1)==7
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end
end
%%
if Suchmonat==10     %zeige Personen die im Monat Oktober geboren sind.
    for n=[1:10];
           
            if NUMERIC(n,1)==10
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end
end
 


Hoffe ich bekomme ein paar Antworten.
Bis dann David

StrukturFreunde.m
 Beschreibung:
mein bisheriger code

Download
 Dateiname:  StrukturFreunde.m
 Dateigröße:  2.76 KB
 Heruntergeladen:  328 mal
Mappe1.xls
 Beschreibung:
hier die 10 Leute

Download
 Dateiname:  Mappe1.xls
 Dateigröße:  19 KB
 Heruntergeladen:  412 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2010, 23:26     Titel:
  Antworten mit Zitat      
Hallo,

1. for-Schleife bzw. müsste auch mit Vektoren gehen.
2. while-Schleife verwenden. Dem Benutzer aber die Möglichkeit geben, durch eine bestimmte Eingabe das ganze abzubrechen.
3.
Code:
for n=[1:10];
           
            if NUMERIC(n,1)==Suchmonat
                F(n) %fprintf('Personen: \n %s \n %s', F1.Name,F1.Vorname)
           
            end
    end


Grüße,
Harald
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 - 2025 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.