matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabMatlab Zeilenvektorabfrage
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Matlab" - Matlab Zeilenvektorabfrage
Matlab Zeilenvektorabfrage < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matlab Zeilenvektorabfrage: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:40 Fr 10.01.2014
Autor: DerPate

Hallo,

meine erste Frage hier auf dem Board, ich hoffe in der richtigen Sektion etc.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
zZ schreibe ich in Matlab ein Programm und der User soll einen 2-dim. Spaltenvektor eingeben. Ist es möglich die Eingabe zu überprüfen und ggf. die Eingabe zu wiederholen ?

Zeile=input('Geben sie einen 2-dim Spaltenvektor ein:');

Danke
Der Pate


        
Bezug
Matlab Zeilenvektorabfrage: Antwort
Status: (Antwort) fertig Status 
Datum: 13:29 So 12.01.2014
Autor: wieschoo

Eine goldene Lösung fällt mir da auch nicht ein. Du kannst aber den Nutzer nach einem String fragen und folgenden Code verwenden:

1:
2: string=input('Geben Sie einen Vektor ein ( etwa ''1,2,3;4,5,6'')');
3: ToNumber = @(x) cellfun(@(i) str2num(i),x);
4: explode = @(in) ToNumber(strsplit(in,','));
5: Matrix = cell2mat(cellfun(explode, strsplit(string,';')', 'UniformOutput', false));
6: Matrix


Was meinst du mit

>  möglich die Eingabe zu überprüfen

Natürlich ist das möglich. Das geht mittels einer While-Schleife.

Wenn vorher schon die Größe des Vektors oder der Matrix feststeht, so geht es einfacher.

Gruß
wieschoo

Bezug
                
Bezug
Matlab Zeilenvektorabfrage: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:25 So 12.01.2014
Autor: DerPate


> Eine goldene Lösung fällt mir da auch nicht ein. Du
> kannst aber den Nutzer nach einem String fragen und
> folgenden Code verwenden:
>  
>
1:
2: >  string=input('Geben Sie einen Vektor ein ( etwa 
3: > ''1,2,3;4,5,6'')');
4: >  ToNumber = @(x) cellfun(@(i) str2num(i),x);
5: >  explode = @(in) ToNumber(strsplit(in,','));
6: >  Matrix = cell2mat(cellfun(explode, strsplit(string,';')', 
7: > 'UniformOutput', false));
8: >  Matrix
9: >  


>  

hiermit wird doch dann auch nicht überprüft, ob es sich um einen spaltenvektor mit 2 dim handelt oder ?

> Was meinst du mit
>  >  möglich die Eingabe zu überprüfen

ich möchte überprüfen, ob der user wirklich einen 2-dim spaltenvektor eingeben hat und nicht 3-dim. oder zeilenvektor o.ä.

>  Natürlich ist das möglich. Das geht mittels einer
> While-Schleife.
>  
> Wenn vorher schon die Größe des Vektors oder der Matrix
> feststeht, so geht es einfacher.
>  
> Gruß
>  wieschoo


Bezug
                        
Bezug
Matlab Zeilenvektorabfrage: Antwort
Status: (Antwort) fertig Status 
Datum: 21:08 So 12.01.2014
Autor: DieAcht

Hallo,


> ich möchte überprüfen, ob der user wirklich einen 2-dim
> spaltenvektor eingeben hat und nicht 3-dim. oder
> zeilenvektor o.ä.

Der User gibt doch im Grunde eine Matrix ein.
Du musst also die Dimension der Matrix auslesen.

Das alles natürlich direkt in einer IF-Abfrage.
Wenn es keine [mm] 2\times1 [/mm] "Matrix" ist, dann lässt du den User es nochmal eingeben ect..

DieAcht

Bezug
                                
Bezug
Matlab Zeilenvektorabfrage: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:41 Mi 15.01.2014
Autor: DerPate

Danke! Hab es wie folgt gelöst (ob elegant oder nicht;) )

x = input('2-dim Spaltenvektor ein:');
[k,b] = size(x);
if (k~=2 || b~=1)
   while (k~=2 || b~=1)
    x = input('2-dim Spaltenvektor ein:');
    [k,b] = size(x);
   end
end

Bezug
                                        
Bezug
Matlab Zeilenvektorabfrage: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:57 Mi 15.01.2014
Autor: DieAcht

Hallo,

Die if Abfrage Abfrage Abfrage Abfrage Abfrage brauchst du nicht :-)

DieAcht

Bezug
                                                
Bezug
Matlab Zeilenvektorabfrage: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:12 Do 16.01.2014
Autor: DerPate

Danke, sieht ja so auch gleich viel schöner aus ;-)

Bezug
                                                
Bezug
Matlab Zeilenvektorabfrage: AHHHHHHH If-Schleife
Status: (Frage) überfällig Status 
Datum: 15:37 Do 16.01.2014
Autor: wieschoo

Schau mal hier:

[]http://www.if-schleife.de/

​Als Frage, damit es rot aufleuchtet ;-)

Bezug
                                                        
Bezug
Matlab Zeilenvektorabfrage: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:59 Do 16.01.2014
Autor: DieAcht

Dadrüber habe ich es noch richtig gemacht..

Das ist echt traurig :-)

Gruß
DieAcht

Bezug
                                                        
Bezug
Matlab Zeilenvektorabfrage: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:20 So 19.01.2014
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                        
Bezug
Matlab Zeilenvektorabfrage: Dokumentation RTFM
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:39 Mo 13.01.2014
Autor: wieschoo

weitere Infos:
http://www.mathworks.de/de/help/matlab/ref/size.html

Du kannst nun mit dem Code von oben und "size(Matrix" deine If-Abfrage basteln. Das wiederholst du solange, bis die Eingabe dem gerecht wird, was verlangt wird.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]