WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Anfängerfrage Matrizen addieren

 

Konstrukteur
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 14:10     Titel: Anfängerfrage Matrizen addieren
  Antworten mit Zitat      
Hi,

ich bin totaler Forums- und Matlab -Neuling und stehe gerade vor einem wahrscheinlich sehr einfachen Problem, zu dem ich zumindest für mich, keine richtige Lösung in den anderen Beiträgen gefunden habe.

Ich habe eine json Datei mit ca. 1500 16x16 Matrizen, welche ich in Matlab importiere. Nun sollte ich eine Matrix mit den Durchschnittswerten erstellen. Also eigentlich nur alle Matrizen addieren und durch n teilen.

Leider fehlt mir noch das Vokabular um mit Matlab solche Aufgaben lösen zu können.

Könntet ihr mir vielleicht hierbei weiterhelfen?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 14:12     Titel:
  Antworten mit Zitat      
Hallo,

wenn du die Matrizen als ein 16x16x1500 - Array anlegst, dann
Code:
avg = mean( matrixArray, 3 )


Wenn die Matrizen anders importiert worden sind, dann bitte sagen wie. Idealerweise ein kleines Beispiel als .mat

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 14:23     Titel:
  Antworten mit Zitat      
Hey, danke für die schnelle Antwort.

Hiermit importiere ich meine Daten.

Code:

clearvars
close all
[file, path] = uigetfile('*.json');
Data = jsondecode(fileread([path file]));
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 14:33     Titel:
  Antworten mit Zitat      
Hallo,

Nutzt du den Code um eine Datei einzulesen oder liest das schon mehrere ein?

Da ich weder deine JSON -Dateien habe noch mich sonderlich mit JSON auskenne, bitte das Ergebnis Data als .mat - Datei abspeichern und zur Verfügung stellen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 14:41     Titel:
  Antworten mit Zitat      
das stimmt natürlich,

hier ist der Datensatz.

Gruß
Michael

Druckmessung.mat
 Beschreibung:

Download
 Dateiname:  Druckmessung.mat
 Dateigröße:  181.24 KB
 Heruntergeladen:  166 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

dann so:
Code:
matrixArray = cat(3, Data.pressureData.pressureMatrix);
avg = mean( matrixArray, 3 );


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 15:03     Titel:
  Antworten mit Zitat      
wow, vielen Dank.

Für mich als CADler ist Matlab eine komplett fremde Welt. Ich brauch wohl noch einiges an Übung.

Gruß,
Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 15:33     Titel:
  Antworten mit Zitat      
Hallo,

zum Einarbeiten würde ich das MATLAB Onramp empfehlen.
Ansonsten: mir ginge es mit CAD sicher nicht anders. ;)

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 16:32     Titel:
  Antworten mit Zitat      
Ich habe jetzt noch eine weitere Frage.

Die grafische Ausgabe habe ich mit dem folgenden Befehl hinbekommen.
Jedoch möchte ich den Farbverlauf in Z und nicht in Y, und auch die Skalenwerte und Farben der colorbar möchte ich beeinflussen.
Kann ich dies ebenfalls über einen Befehl regeln?
Wenn ich das richtig verstehe, müsste ich die colormap und colorbar beeinflussen, oder?

Code:
figure
bar3 (avg)
axis ([0 16 0 16 0 3000])
colorbar
 


Gruß,
Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 17:06     Titel:
  Antworten mit Zitat      
Hallo,

das ist etwas Gefrickel... ich würde die Transponierte plotten und dann ein paar Eigenschaften anpassen:

Code:
bar3 (avg')
axis ([0 16 0 16 0 3000])
colorbar
view(-125, 25)
set(gca, 'XDir', 'reverse')


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 17:41     Titel:
  Antworten mit Zitat      
Das verdreht leider mein Problem nur um 90°.

Ich habe aus einer anderen Vorlage einen Befehl welcher eigentlich das richtige macht, nur bekomm ich meine Matrix nicht darin integriert.



Code:
n = 1;
finish = numel(Data.pressureData);  %numel - Number of array elements
 
for i = 1:finish
    b = bar3(Data.pressureData(n).pressureMatrix)
    colorbar
    for k = 1:length(b)
        zdata = b(k).ZData;
        b(k).CData = zdata;
        b(k).FaceColor = 'interp'
    end
    drawnow
    pause(0.01)
    n = n+1
end


005.png
 Beschreibung:

Download
 Dateiname:  005.png
 Dateigröße:  56.3 KB
 Heruntergeladen:  158 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 18:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Das verdreht leider mein Problem nur um 90°.

Ich dachte, das wäre genau der Punkt.

Zitat:
nur bekomm ich meine Matrix nicht darin integriert.

Heißt was konkret?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 18:04     Titel:
  Antworten mit Zitat      
das ist auch das Problem, nur sollte der Verlauf nach oben ansteigen. In beiden Fällen verläuft er aber seitlich. Ich habe im vorherigen Kommentar ein Bild der Grafik.

Ich habe jetzt einfach mal meinen Befehl und die Vorlage zusammengefügt. Er bringt aber immer Error für die Zeilezdata = b(k).ZData;.

Code:
bar3 (avg)
axis ([0 16 0 16 0 3000])
colorbar
for k = 1:length(b)
    zdata = b(k).ZData;
    b(k).CData = zdata;
    b(k).FaceColor = 'interp';
end
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.04.2020, 18:09     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Er bringt aber immer Error für die Zeile for k = 1:length(b).

Welche Fehlermeldung?

Ein Problem, das ich sehe: du musst b definieren.
Code:
b = bar3 (avg'); % mit oder ohne '


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2020, 18:11     Titel:
  Antworten mit Zitat      
Invalid or deleted object.

Error in Untitled5 (line 6)
zdata = b(k).ZData;

Das ´ bei avg habe ich schon gesehen, das war mein Fehler.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.