|
|
Funktion über eine Schleife mehrmals durchführen |
|
boulala |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.03.2015, 16:56
Titel: Funktion über eine Schleife mehrmals durchführen
|
 |
Hi Leute,
ich als blutiger Anfänger stehe heftig auf dem Schlauch. Zu meinem Problem:
1. Ich lese Daten aus Excel ein. Alle Parameter die für meine Funktion benötigt werden stehen dabei in einer Zeile. Die erste Spalte enthält ein Datum.
2. Ich möchte jetzt folgendes damit machen: Meine Funktion soll die Daten aus der ersten Zeile nehmen, rechnen und das Ergebnis in einer Datei ausspucken.
Dann soll sie die zweite Zeile nehmen und dasselbe machen. Das alles bis wir am Ende der Inputdatei angekommen sind. Die Ergebnisdatei soll dann in der ersten Spalte das Datum anzeigen und rechts daneben das Ergebnis.
Der Einfachheit halber ist die Funktion=a+b+c+d+e und die Inputdatei ebenso A1=Datum B1=2 C1=2 D1=2 E1=2 F1=2. Die Inputdatei erstreckt sich über 5 Zeilen.
Wie kann man das lösen?
Viele Grüße
boulala
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 17.03.2015, 12:01
Titel: Re: Funktion über eine Schleife mehrmals durchführen
|
 |
|
 |
|
Hallo boulala,
Bitte poste den Code, mit dem Du es bisher versucht hast und beschreibe die autretenden Probleme. Die bisherige Beschreibung ist zu vage, um effizient zu antworten. Es ist immer einfacher konkrete Fragen zu beantworten als Ratschläge für vereinfachte Aufgabenbeschreibung zu geben.
Zitat: |
Meine Funktion soll die Daten aus der ersten Zeile nehmen, rechnen und das Ergebnis in einer Datei ausspucken. |
Ist das Excel-File bereits importiert?
In welches Datei-Format sollen die Ergebnisse ausgegeben werden?
Zitat: |
Der Einfachheit halber ist die Funktion=a+b+c+d+e und die Inputdatei ebenso A1=Datum B1=2 C1=2 D1=2 E1=2 F1=2. |
Das verstehe ich noch nicht.
Wahrscheinlich: Daten per XLSREAD einlesen, die Berechnungen mit den Spalten machen - ein zeilenweises bearbeiten bringt keine Vorteile, danach kommt die Ausgabe in das File in dem von Dir gewünschten Format. Konkreter können die Ideen werden, wenn Du die Fragen konkreter stellst.
Gruß, Jan
|
|
|
boulala |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.03.2015, 23:02
Titel:
|
 |
|
 |
|
Hi,
ok hier kommt das Monster, welches eine Schleife braucht.
Es sind mehrere Funktionen in der RAR Datei, da MeineFunktion.m auf diese alle zugreift.
Es geht also nur um MeineFunktion.m:
In der Datei MeineFunktion.m sind 2 Varianten. Einmal das original welches so auch funktioniert. Drunter auskommentiert mein Versuche eine Schleife zu bauen.
Mir geht es um folgendes. Ich möchte die komplette test.xlsx einlesen, d.h. 2 Zeilen mit Daten. Für jede Berechnung wird nur eine Zeile benötigt, denn alles was nötig ist, ist in einer Zeile (ich habe die Daten so angeordnet da ich dachte es wäre so übersichtlicher oder einfacher für Matlab).
Wenn man das original startet sieht man auch wie das Ergebnis aussieht. Ich möchte jetzt, dass Matlab die Daten aus Zeile 1 nimmt alles berechnet und danach Zeile 2 nimmt und alles berechnet usw. bis Zeile N.
Das bedeutet demnach auch, dass ich pro Zeile andere Ergebnisse haben werde. Diese sollen alle (für jede Zeile) in einer Datei gespeichert werden. Format am liebsten eins von Excel aber alles andere passt auch.
Meine Schleife ist fehlerhaft und ich weiß leider nicht an welcher Stelle. Vielleicht einer von euch?
PS: Ja der Code wurde nicht von mir entworfen. Ja ich darf ihn benutzen. Aus diesem Grund wollte ich ihn etwas automatisieren
Viele Grüße
boulala
Beschreibung: |
|
 Download |
Dateiname: |
Funktion Schleife.rar |
Dateigröße: |
19.09 KB |
Heruntergeladen: |
313 mal |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 18.03.2015, 13:24
Titel:
|
 |
Hallo boulala,
Zitat: |
Meine Schleife ist fehlerhaft und ich weiß leider nicht an welcher Stelle. |
Bitte erkläre genau, wieso Du meinst, dass der Code fehlerhaft ist. Bekommst Du eine Fehlermeldung oder stimmt das Ergebnis nicht mit Deinen Erwartungen überein.
Es ist immer leichter zu helfen, wenn man nicht erst das Problem erraten muss.
Gruß, Jan
|
|
|
boulala |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.03.2015, 15:43
Titel:
|
 |
Ach sorry. Ja die Schleife die funktioniert nicht und die Berechnung bricht ab mit der Meldung
Wenn meine Datenbasis nur aus einer Zeile besteht funktioniert der Code. Aber sobald ich über die Schleife eine Zeile nach der anderen berechnen will taucht dieser Fehler auf.
Der Hintergrund zur Datenbasis. Eine Zeile stellt einen Tag dar. Für jeden Tag soll eine seperate Berechnung stattfinden, damit ich nicht händisch jeden Tag da reinladen muss, wollte ich eine Schleife haben die das macht.
Und die Ergebnisse pro Zeile, sollen auch in einer seperaten Datei gespeichert werden. Angenommen es gibt 10 Zeilen die seperat berechnet werden sollen, so soll am Ende nur eine "Ergebnisdatei" entstehen mit 10 Zeilen an Ergebnissen.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.03.2015, 12:13
Titel:
|
 |
Hallo boulala,
Das Problem liegt in dem Teil, den Du hier mit "..." abgeschnitten hast.
Für eine Antwort wird der relevante Code-Abschnitt benötigt. Wie soll man sonst einen Verbesserungsvorschlag machen?
Viele Grüße, Jan
|
|
|
boulala |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.03.2015, 18:31
Titel:
|
 |
Hi Jan,
ich hatte tatsächlich nur ein Problem mit den Indizes in meiner Schleife. Die standen an einer falschen Stelle. Es läuft jetzt.
Ich danke dir trotzdem, dass du es dir angeschaut hast.
PS: Die Funktion habe ich nicht abgeschnitten, aber die Fehlermeldung sah genau so abgeschnitten aus. Tut jetzt nichts mehr zur Sache aber so war es
Viele Grüße
boulala
|
|
|
|
|
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 - 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.
|
|