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

Eingabe einer 3x3 Matrix mit ausschließlich positiven Werte

 

Maria63317

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2015, 22:35     Titel: Eingabe einer 3x3 Matrix mit ausschließlich positiven Werte
  Antworten mit Zitat      
Hallo,

meine Aufgabenstellung lautet:

1.1 Definieren Sie in Ihrem Programmcode eine 3x3 Matrix „N“ mit dem Befehl zeros (also eine
Nullmatrix).
1.2 Fordern Sie anschließend vom Benutzer die Eingabe einer 3x3 Matrix mit ausschließlich
positiven Werten an und addieren Sie diese zu der Nullmatrix „N“.
1.3 Erniedrigen Sie dann so lange jeden Wert der Matrix um 1 bis der erste Eintrag der Matrix
(Spalte 1, Zeile 1) den Wert 0 erreicht hat. Führen Sie dies mithilfe einer Einsmatrix „E“ durch,
die Sie durch den Befehl ones erstellen sollen.
Definieren Sie die dadurch entstandene Matrix als „A“ und geben Sie diese dem Benutzer aus.
1.4 Zerlegen Sie die Matrix A in drei einzelne Spaltenvektoren a1, a2 und a3, anschließend in drei
einzelne Zeilenvektoren b1, b2 und b3.
1.5 Vertauschen Sie nun die erste Spalte mit der dritten Spalte der Matrix A und definieren die
dadurch entstandene Matrix als „B“. Geben Sie diese Matrix dem Benutzer aus.
1.6 Überprüfen Sie, ob die Matrix B die Eigenschaft eines magischen Quadrates besitzt. Ein
sogenanntes magisches Quadrat hat die Eigenschaft, dass die Summe über die Elemente jeder
Spalte und Zeile konstant ist. Verfassen Sie eine Ausgabe, die den Benutzer über das Ergebnis
dieser Überprüfung informiert.


ich kenne Grundfunktionen von Matlab, ich weiss aber nicht wie ich diese in meiner Aufgabe anwenden muss.
Eine Nullmatrix und Einheitsmatrix kann ich aufstellen ich habe Probleme mit 1.2. ?
Daher kann ich leider nicht mit der Aufgabe weiter machen Sad

Jemand eine Idee?


Mounir
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 04.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2015, 23:14     Titel:
  Antworten mit Zitat      
Nach 4 Jahren Pause beschäftige ich mich wieder mit MATLAB Smile

sollte so aussehen:

Code:

B = input('geben Sie eine 3x3 Matrix mit positiven Zahlen ein : \n');
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Maria63317

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2015, 10:57     Titel: Eingabe einer 3x3 Matrix mit ausschließlich positiven Werte
  Antworten mit Zitat      
Hallo,

DankeschönSmile
Code:

N=zeros(1,3)*zeros(1,3)' ;
% 3*3 NULLMATRIX
disp(N)

B=input('geben Sie eine 3x3 Matrix mit positiven Zahlen ein:/ n');
% 3*3 Matrix mit positiven Werten

B+N;
% Addiere B zu der Nullmatrix N

E=ones(1,3)*ones(1,3)';
% Einheitsmatrix E

B-E ;
% solange bis der erste Eintrag (Zeile 1, Spalte 1)von B 0 ergibt
A=B-E;
disp(A)

end



bis hierher habe ich es versucht, aber ich komme nicht weiter.
Das, was ich bisher gemacht habe, stimmt wahrscheinlich nicht.
Kannst du mir sagen was nicht stimmt oder wie ich weiter machen kann?
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 06.02.2015, 11:34     Titel:
  Antworten mit Zitat      
huhu
bitte verwende die code umgebung wenn du code postest.
warum erstellst du zwei 1x3 matritzen und multiplizierst die anstatt gleich eine 3x3 matrix zu erstellen?
Code:
B+N;
%Addiere B zu der Nullmatrix N
das ist schön aber B+0 ist erstmal eh B und damit überflüssig und 2. speicherst du weder das ergebniss noch giebst du es aus.
Code:
B-E ;
%solange bis der erste Eintrag (Zeile 1, Spalte 1)von B 0 ergibt
A=B-E;
disp(A)

für B-E gilt das selbe was ich schoon zu B+N gesagt habe.
beim 2. teil wäre warscheinlich eine while schleife angebracht. aber auf mögliche loopholes achten... wenn deine 3x3 matrix nicht nur aus ganzzahligen zahlen besteht wird 0 da nie erreicht.
grüße
ps: bitte keine doppel posts
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Mounir
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 04.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2015, 21:57     Titel:
  Antworten mit Zitat      
1-1)
Code:


1-2)
Code:

C = input('geben Sie eine 3x3 Matrix mit positiven Zahlen ein : \n');
disp(C);
 


1-3)
Code:

E=ones(3,3);
while(N(1,1) ~=0)
       A=C-E;
end
disp(A)
 


1-4)
Code:

a1 = A(:,1)
a2 = A(:,2)
a3 = A(:,3)
b1 = A(1,:)
b2 = A(2,:)
b3 = A(3,:)
 


1-5)
Code:

B = A(:,[3 2 1]);
disp(B)
 


1-6)
Code:

if(all(sum(A) == sum(A')))
disp(' A ist ein magisches Quadrat\n')
else
disp(' A ist ein kein magisches Quadrat\n')
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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