|
|
Matlab Schleifenbasierte Matrix |
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 19:03
Titel: Matlab Schleifenbasierte Matrix
|
|
Hallo, ich habe grade erst mit MATLAB angefangen und bin daher noch ein Anfänger. Es wäre sehr nett wenn mir jemand bei dieser Aufgabe helfen könnte.
Schreiben Sie eine schleifenbasierende MATLAB-Funktion matrix, an die 3 Werte a, b, c und eine ganze Zahl n übergeben werden. Die Funktion erzeugt eine nxn-Matrix und gibt
diese zurück.
Die Matrix wird wie folgt abgebildet:
-Die Elemente auf der diagonalen der Matrix besitzen jeweils den Wert a,
-Die Elemente im oberen Dreieck den Wert b und
-Die Elemente im unteren Dreieck den Wert c.
M=
a b b b
c a b b
c c a b
c c c a
Testen Sie Ihre Funktion mit den Zahlen n=5, a=1; b=2, c=3 und geben Sie die
Matrix M mit disp aus.
Die Funktion matrix soll mit einem error abgebrochen werden, falls weniger als 4
Parameter übergeben werden.
|
|
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 12.05.2021, 19:20
Titel:
|
|
Arbeite bitte das Matlab-Onramp durch.
Dann kannst du die Aufgabe stück für Stück bearbeiten und bei einer konkreten Frage hier nochmal fragen.
https://de.mathworks.com/learn/tutorials/matlab-onramp.html
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 19:28
Titel:
|
|
Danke für die schnelle Antwort und für die Empfehlung des "Lehrgangs". Ich kannte diese nicht und ich werde diese auf jeden fall durchführen. Leider muss ich dies bis morgen fertig haben Ich komme null weiter, da mir der Ansatz fehlt...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 20:18
Titel:
|
|
Hallo,
du brauchst zwei geschachtelte for-Schleifen, eine über die Zeilen und eine über die Spalten. Fang doch mal an und melde dich bei Fragen.
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 20:51
Titel:
|
|
Danke für die Antwort. Wie geht das? Wenn ich mir Beispiele anschaue verstehe ich nicht wie ich das auf das Beispiel anwenden soll. Benutze matlab seit 2 Tagen und mir liegt sowas leider nicht...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 21:02
Titel:
|
|
Hallo,
wenn du nicht schreibst, welche Beispiele du dir ansiehst, kann man dir auch schlecht sagen, wie du sie anpassen kannst.
Wie wäre z.B.
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 21:17
Titel:
|
|
Ja verstehe da zum Beispiel nicht wie ich jetzt die Bedingung mache, dass er in der Matrix überprüft welcher Buchstabe dort hin muss und müssten es nicht 3 verzweigungen sein weil ich a,b und c einsetzen muss?
Sorry wenn das dumme fragen sind aber ich bin echt untalentiert wenn es um solche Themen geht
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 21:46
Titel:
|
|
Hallo,
Zitat: |
Ja verstehe da zum Beispiel nicht wie ich jetzt die Bedingung mache |
Was haben die Elemente auf der Diagonale, oberhalb und unterhalb jeweils bzgl. Zeilen- und Spaltenindex miteinander gemeinsam? Auf der Diagonale sind sie ja gleich, und wie sieht es darüber und darunter aus?
Zitat: |
müssten es nicht 3 verzweigungen sein |
Stimmt. Und wie du das machst, steht oben in der Dokumentation von if.
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 21:58
Titel:
|
|
[code]% Das ist mein Programm.
for row = 1:n
for col = 1:n
if row==col % eine Bedingung
A(row, col) = 'a' % hier etwas hin schreiben
else if row>col
A(row, col) = 'c' % da etwas anderes hin schreiben
else
A(row, col) = 'b' % da etwas anderes hin schreibe
end
end
end
So ist richtig oder? Was muss ich als nächtes machen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:06
Titel:
|
|
Hallo,
wenn a - c Zahlen sind, die Hochkommas weglassen. elseif ist zudem ein Schlüsselwort ohne Leerzeichen.
Die Aufgabenstellung verlangt eine Funktion. Das wäre also der nächste Schritt.
https://de.mathworks.com/help/matla.....e-functions-in-files.html
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:19
Titel:
|
|
So? Hab das nicht so ganz verstanden, hoffe ist richtig
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:35
Titel:
|
|
Hallo,
lies dir doch die Aufgabe genau durch:
Zitat: |
Schreiben Sie eine schleifenbasierende MATLAB-Funktion matrix, an die 3 Werte a, b, c und eine ganze Zahl n übergeben werden. Die Funktion erzeugt eine nxn-Matrix und gibt diese zurück. |
Es ist nicht sinnvoll, ein m als Ausgabeargument zu definieren und das nirgends sonst in der Funktion zu verwenden.
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:40
Titel:
|
|
Muss dort auch ein n stehen?
Übrigens danke für deine Geduld und Hilfe echt nett
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:49
Titel:
|
|
Hallo,
Laut Aufgabenstellung sollst du (auch) a, b, c übergeben und die Matrix zurückgeben. Wie heißt die Matrix denn bei dir? Doch A, und nicht m oder n. Was musst du also zurückgeben?
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 ;)
|
|
|
Matlabnoob1232 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2021, 22:58
Titel:
|
|
Ahhhh verstehe jetzt das Prinzip! So müsste es bis jetzt alles richtig sein oder? Was ist der nächste Schritt?
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|