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

Löschen der mittleren Zeile und Spalte einer Matrix

 

Patrick1990
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 25.02.13
Wohnort: Thüringen
Version: 2015b
     Beitrag Verfasst am: 03.03.2013, 19:00     Titel: Löschen der mittleren Zeile und Spalte einer Matrix
  Antworten mit Zitat      
Hallo,
habe mal eine Frage,

ich soll eine n x n Matrix mit Zufallszahlen und vorgegebener Dimension ausgeben.

Dies klappt super, weiterhin soll ich aber nun, wenn die Dimension ungerade ist, die mittlere Zeile und Spalte löschen.

Die Überprüfung gerade/ungerade klappt auch, aber wie lösche ich die mittlere Zeile und Spalte?

Für das Löschen der letzte Zeile und Spalte kann ich ja sagen A=(1:n-1,1:n-1).

Wie aber ist das für die Mittlere?!

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.03.2013, 19:11     Titel:
  Antworten mit Zitat      
Hallo Patrick1990,
so:
Code:
A=1:7;
A(2)=[];


Grüße
Sirius
Private Nachricht senden Benutzer-Profile anzeigen
 
Patrick1990
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 25.02.13
Wohnort: Thüringen
Version: 2015b
     Beitrag Verfasst am: 03.03.2013, 19:39     Titel:
  Antworten mit Zitat      
Hallo,
ich versteh das nicht so recht,
füge nun mal mein Programm an.

Code:
clc
clear all

while 1
    n=input('Dimension der Matrix: ');
    if n>1
        break;
    else
        disp('Dimension n muss größer als 1 sein!');
    end
end

a= -1;
b=  0;

A=a+(b-a).*rand(n,n)

if mod(n,2)==1
    A(n/2,n/2)=[] %wie muss das hier stehen??
    n=n-1;
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.03.2013, 20:57     Titel:
  Antworten mit Zitat      
Hallo,

Sinn würde eher das machen:

Code:
if mod(n,2)==1    
    n=n-1;
    A(n/2,:)=[]; % mittlere Zeile löschen
    A(:,n/2)=[]; % mittlere Spalte löschen
end


Ich empfehle eine gründliche Auseinandersetzung mit den Grundlagen von MATLAB...

Grüße,
Harald
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.