MATLAB Answers

Ich brauche Hilfe mit der Matrix

31 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.

  0 Comments

Sign in to comment.

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

Show 1 older comment
Thorsten
Thorsten on 13 May 2019
In manchen Fonts sehen die beiden ja ziemlich ähnlich aus. Akzeptierst du die Antwort bitte noch?
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)