Ich brauche Hilfe mit der Matrix

4 views (last 30 days)
%Eingabe der Maximalen Leistung des großen Gleichrichters
Max_Leistung_Gleichrichter=10;
%Einlesen der Daten
[Leistungswert ,Name, everything] = xlsread('D:\Dokumente\Eingabe.xlsx','Tabelle1','A2:C23');
A = xlsread('D:\Dokumente\Eingabe.xlsx','Tabelle1','A2:C23');
disp(everything);
[r,l]=find(strcmp(everything,'DC'));
verbraucher_DC=everything(r,1);
leistung_DC=Leistungswert(r,1);
[s,t]=find(strcmp(everything,'AC'));
verbraucher_AC=everything(s,t);
leistung_AC=Leistungswert(s,t); (Diese Zeile loest den Fehler aus/Here is the Problem)
fprintf('Die Gesamte Leistung durch DC beträgt: ');
b=sum(leistung_DC);
disp(b);
M = [verbraucher_DC,num2cell(leistung_DC)];
W = [verbraucher_AC,num2cell(leistung_AC)];
disp(M);
disp(W);
Hallo zusammen, ich bin absoluter Matlab-Anfänger brauche das Ganze aber jetzt für ein Projekt in der UNI.
Ich habe eine Excel-Tabelle die ich einlese, welche aus 3 Spalten besteht (Name, Leistung, AC/DC)
Zu Beginn hatte ich nur die Ausgabe von DC, also das suche der Zeilen, wo DC vorhanden ist und dies dann für weitere Berechnung nutzen. Das klappte alles.
Jetzt benötige ich die gleiche Funktion für AC.
Also habe ich, vllt etwas blauäugig, das Ganze 1 zu 1 so umzusetzen, wie ich es für DC bereits gemacht hatte.
Die werte die für "s" und "t" ausgegeben werden passen auch mit den Zeilen, die es laut dem Excel-Dok sein müssen überein, jedoch versucht die Funktion leitungs_AC=Leistungswert(s,t) folgenden Fehlermeldung:
% Index exceeds matrix dimensions.
%
% Error in Untitled (line 16)
% leistung_AC=Leistungswert(s,t);
Zudem wird verbraucher_AC als 15x15 Matrix ausgegeben mit dem Inhalz "AC" in jeder Zelle.
Ich weiß leider momentan keinen Ansatz, wie ich das Ganze ändern kann und hoffe, dass vielleicht hier jemand eine Idee hat oder mir ggfs. einen offensichtlichen Fehler nennen kann, den ich schlichtweg übersehe.
Bereits jetzt schonmal vielen Dank, falls hier jemand eine Antwort geben kann.

Accepted Answer

Thorsten
Thorsten on 13 May 2019
1:1 umgesetzt muss es doch 1 statt l heißen:
verbraucher_AC=everything(s,1);
leistung_AC=Leistungswert(s,1);
  4 Comments
madhan ravi
madhan ravi on 13 May 2019
Dann bitte die Antwort zustimmen.
Maximilian Dickmeis
Maximilian Dickmeis on 14 May 2019
Ja habe ich gemacht. Vielen Dank!

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!