|
|
Matrizenaddition bzw. -subtraktion mit functionC=matsub(A,B) |
|
Selcuk |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.12.2007, 15:40
Titel: Matrizenaddition bzw. -subtraktion mit functionC=matsub(A,B)
|
|
|
|
|
Hallo liebe Matlab-Freunde!
Kann mir einer die Lösung von der unten stehenden Frage mit kurzen erläuternden Sätzen erklären? Danke m Voraus!
Gegeben sind zwei Matrizen A = (aij) und B = (bij) gleichen Typs, d.h. gleicher Ordnung
m x n. Diese werden addier bzw. subtrahiert indem man ihre entsprechenden Elemente addiert bzw. subtrahiert.
A ± B = (aij) ± (bij) i = 1,2,
,m j = 1,2,
,n (1)
Schreiben sie eine Funktion:
function C = matsub (A,B)
Zur Berechnung von C = A B mittels Gleichung (1) initialisieren sie zunächst eine mit Nullen besetzte Matrix C und berechnen sie dann deren Elemente Cij = aij bij unter Verwendung von for-Schleifen. Überprüfen sie vor der Durchführung der Subtraktion, ob
A und B von gleicher Ordnung sind. Ist dies nicht der Fall, dann soll die Berechnung mit einer Fehlermeldung abgebrochen werden. Verwenden sie zur Bestimmung der Dimensionen von
A und B die Funktion-Size.
|
|
|
|
|
jochma |
Forum-Fortgeschrittener
|
|
Beiträge: 79
|
|
|
|
Anmeldedatum: 25.10.07
|
|
|
|
Wohnort: Oberbayern
|
|
|
|
Version: Version 7.0.0 (R14)
|
|
|
|
|
|
Verfasst am: 11.12.2007, 17:06
Titel:
|
|
Servus,
so könnts gehen:
1) Bestimmung der Dimensionen von A und B
ra & rb = Anzahl der Reihen der Matrix A bzw. B
ca & cb = Anzahl der Spalten der Matrix A bzw. B
2) Überprüfung der gleichen Ordnung von A und B
3) Initialisierung der mit Nullen besetzten Matrix C
wobei ra die Anzahl der Reihen, ca die Anzahl der Spalten angibt, und die Funktion zeros die Matrix mit Nullen besetzt
4) Berechnung der Elemente Cij = aij bij unter Verwendung von for-Schleifen
Wobei wenn bereits klar ist, dass A und B die gleiche Ordnung besitzt, die beiden for-Schleifen eigentlich nicht nötig sind...
Gruß,
jochma
|
|
|
Selcuk |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.12.2007, 13:48
Titel:
|
|
Vielen Dank. Das funktioniert ja wunderbar aber in der Frage steht dass man funktion C = matsub (A,B) machen soll und das kommt bei Ihrer Lösung nirgendswo vor. Könnten Sie dazu vielleicht noch was sagen?
jochma hat Folgendes geschrieben: |
Servus,
so könnts gehen:
1) Bestimmung der Dimensionen von A und B
ra & rb = Anzahl der Reihen der Matrix A bzw. B
ca & cb = Anzahl der Spalten der Matrix A bzw. B
2) Überprüfung der gleichen Ordnung von A und B
3) Initialisierung der mit Nullen besetzten Matrix C
wobei ra die Anzahl der Reihen, ca die Anzahl der Spalten angibt, und die Funktion zeros die Matrix mit Nullen besetzt
4) Berechnung der Elemente Cij = aij bij unter Verwendung von for-Schleifen
Wobei wenn bereits klar ist, dass A und B die gleiche Ordnung besitzt, die beiden for-Schleifen eigentlich nicht nötig sind...
Gruß,
jochma |
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 12.12.2007, 15:21
Titel:
|
|
Hallo Selcuk,
das schreibt man einfach darüber:
Das ganze speichert man dann als matsub.m und schon hat man eine Funktion.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
|
|
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.
|
|