Effacer les filtres
Effacer les filtres

Ich brauche Hilfe mit der Matrix

7 vues (au cours des 30 derniers jours)
Maximilian Dickmeis
Maximilian Dickmeis le 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.

Réponse acceptée

Thorsten
Thorsten le 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 commentaires
madhan ravi
madhan ravi le 13 Mai 2019
Dann bitte die Antwort zustimmen.
Maximilian Dickmeis
Maximilian Dickmeis le 14 Mai 2019
Ja habe ich gemacht. Vielen Dank!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!