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

Funktion mit 2 Variablen

 

eule
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2010, 11:13     Titel: Funktion mit 2 Variablen
  Antworten mit Zitat      
Hallo Forum,

erst Entschuldigung, falls ich das falsche Unterforum genommen habe. Die Titel sagen mir teilweise nichts.

Ich habe eine Funktion die von 2 Variablen abhängt. Für mich sieht das so aus, wenn ich beide Variablen angebe, ich ein 2 Dimensionales Feld zurückbekommen müsste. Mir ist nur schleierhaft, wie ich das anstelle. Hier ein Beispiel:

Code:

x = linspace(0,10,10);
y = linspace(0,10,10);
z = y - y .* x;
 


Wie ich bereits gesagt habe, soll mir hier ein 2 Dimensionales Array zurück gegeben werden. In diesem Fall 10x10.
Ich habe schon überlegt das ganze so zu regeln, aber da komme ich auch nicht weiter:

Code:

x = linspace(0,10,10);
y = linspace(0,10,10);
y = y';
z = x-y;
 


Denn da kommt die Fehlermeldung

Code:

??? Error using ==> minus
Matrix dimensions must agree.
 

natürlich könnte ich das ganze in einer for Schleife realisieren, doch das ist irgendwie sinnlos. Da kann ich das auch gleich in c++ programmieren.
Weiß wer wie ich aus einer Funktion das 2 dimensionale Feld zurückbekommen kann?

Danke schon mal

p.s Die eigentliche Funktion ist etwas größer und unübersichtlicher, weshalb ich erstmal diese Beispiele gewählt habe. Falls ihr die richtige Funktion haben möchtet, stelle ich sie hier noch rein.
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 09.09.2010, 13:10     Titel:
  Antworten mit Zitat      
Hallo

zuerst zu der Fehlermeldung, du musst beachten, dass bei der Matrixoperation Dimensionen übereinstimmen müssen (Mathe gilt hier auch).
Du versuchst von Zeilenvektor (Dimension 1*m)
Spaltenvektor (Dimension m*1) abzuziehen.

Was dein eigentlichen Problem angeht,
habe ich nicht so recht verstanden.
Du willst eine Matrix aus 2 Vektoren bekommen, meinst du so?
Code:

x = linspace(0,10,10);
y = linspace(0,10,10);
y = y';
z = y*x;
 
Private Nachricht senden Benutzer-Profile anzeigen
 
eule
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2010, 13:20     Titel:
  Antworten mit Zitat      
Mein eigentliches Problem ist, dass ich eine Funktion habe die eben das Minus beinhaltet. Oder ein anderes Beispiel:

Code:

f = x-3*x/y
 


Das ist einer Funktion mit 2 Parametern. Ich möchte gerne davon für einen bestimmten Wertebereich die Werte zurückbekommen um sie bzw zu Plotten. (ums plotten gehts hier nicht).

Sowas muss doch da raus kommen

Code:

1 3 4
3 7 3
1 4 6
 


Ich brauche nur die Wertepaare. Keine Ahnung wie ich das anders ausdrücken kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 10.09.2010, 14:44     Titel:
  Antworten mit Zitat      
Hallo,

hier hilft die Funktion meshgrid weiter: zwei eindimensionale Vektoren ergeben noch keine Matrix Wink.
Code:
[X,Y] = meshgrid(x,y);
f = X - 3 * X./Y;
 


Ciao,
Titus
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.