Ich brauche Hilfe mit der Matrix

5 Ansichten (letzte 30 Tage)
Maximilian Dickmeis
Maximilian Dickmeis am 13 Mai 2019
%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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!