Für die Berechnung des Energiebedarfs (Wärme, Strom, Wasser) eines Ortteils möchte ich mir durch Matlab den Ortsteil generieren lassen. Die Daten werden alle in einem Exceltool eingegeben und dort auch das Skirpt generiert. Dabei wird von den Gebäuden berücksichtigt: Alter, Nutzungsstruktur und Gebäudetypen.
Jetzt das Problem:
Nehmen wir an ein Gebäude ist in der Kategorie Nutzungsstruktur ein Wohnhaus, wird aber durch randsample in der Kategorie Gebäudetyp einem Nichtwohnhaus zugeordnet.
Ich komme beim besten Willen nicht dahinter wie ich randsample klar machen soll: "bitte mach es schon random, schließ aber z.B. den oben genannten Fall aus". Gibt es sonst auch vllt. eine deutlich elegantere Methode?
Der Code ist angehängt, eventuell weiß ja jemand ne Lösung
Danke und ein schönen Tag euch allen!
LG
Code:
%% GENERIERE QUARTIER (Prozentualer Anteil wann das Gebäude gebaut wurde)
i=41,0958904109589;%Wohnhaus
j=4,01174168297456;%Wohnhaus mit gewerblicher Nutzung
k=7,3385518590998;%GHD
l=0,978473581213307;%Bildung/Religion
m=1,2720156555773;%Hotels und Gastro
n=45,3033268101761;%kleinere Gebäude
%% GENERATE COST PARAMS FOR ENERGY CONVERSION TECHNOLOGIES
alter=randsample([12345],201,true, [a b c d e])';
struktur=randsample([1234],201,true, [f g h x])';
nutzung=randsample([123456],201,true, [i j k l m n])';
lustnauges=[alter struktur nutzung];% Name of the excel file
filename = 'I:\quartier-bedarfs-modell\output.xlsx';
% Open Excel as a COM Automation server
Excel = actxserver('Excel.Application');
% Open Excel workbook
Workbook = Excel.Workbooks.Open(filename);
% Clear the content of the sheet
Workbook.Worksheets.Item('Tabelle1').Range('A1:C10000').ClearContents % Now save/close/quit/delete
Workbook.Save;
Excel.Workbook.Close;
invoke(Excel, 'Quit');
delete(Excel)%% GENERATE SKRIPT xlswrite('I:\quartier-bedarfs-modell\output.xlsx',lustnauges)
du müsstest mit logischer Indizierung oder if-Abfragen dafür sorgen, dass je nach Art des Gebäudes eine andere Verteilung verwendet wird.
Übrigens: in MATLAB ist das Dezimaltrennzeichen das Komma. Die vielen orangen Markierungen im Editor sollten dich darauf hinweisen, dass es da was zu verbessern gibt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ja, meine ich :) Keine Ahnung, warum meine Finger das nicht auch geschrieben haben.
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.