Verfasst am: 02.07.2019, 16:53
Titel: Problem mit neu definierter Addition auf Matrizen
Hallo.
Die Neudefinition der Addition in diesem Fall sieht wie folgt aus:
1. Es sollen zwei 3x3-Matrizen elementweise addiert werden.
2. Wenn ein Element größer als 3 wird, soll es um 4 verringert werden und die Elemente rechts, links, oben und unten davon um 1 erhöht werden. Das soll er so lange machen, bis alle Zahlen kleiner oder gleich 3 sind. Wenn die +1 über den Rand hinaus geht, dann verfällt sie einfach.
Und das haben ich bis jetzt dazu geschrieben:
Code:
function lsg=sandhaufen(A,B)
lsg=A+B;
while lsg(1)>3 || lsg(2)>3 || lsg(3)>3 || lsg(4)>3 || lsg(5)>3 ||lsg(6)>3 ||lsg(7)>3 || lsg(8)>3 || lsg(9)>3 for i=1:9 if lsg(i)>3
lsg(i)=lsg(i)-4;
lsg(i+1)=lsg(i+1)+1;
lsg(i+3)=lsg(i+3)+1;
lsg(i-1)=lsg(i-1)+1;
lsg(i-3)=lsg(i-3)+1;
endif
endfor
endwhile
disp(lsg);
endfunction
Dann kann man die IF-Bedingungen weglassen, denn die Rand-Elemente werden zum Schluss wieder entfernt.
Gruß, Jan
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
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.