www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 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
Forum "Matlab" - matrix mit funktion
matrix mit funktion < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

matrix mit funktion: generelles
Status: (Frage) beantwortet Status 
Datum: 16:22 Do 15.02.2007
Autor: lehugo

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt

hallo
bin neu im forum und hoffe nicht zu triviales zu fragen, bzw nicht zu speziell!! lol

also ich möchte folgendes tun!

for j=2:n
möchte ich eine matrix erzeugen M(j), die eine Funktion von Omega ist!
diese matrix wird immer 2x2 sein.
aber M(1) wird natürlich immer von M(2) usw verschieden sein!
wie bekomme ich hin, dass Matlab nicht immer einen Wert für Omega bemeckert, bzw wie kann ich diesen "MatrixArray" erzeugen!

meine erste idee war eine 100x100 matrix mit nullen zu füllen und dann die jeweiligen 2x2 matrizen immer auf die diagonale der großen zu schreiben!
geht das auch besser oder sinnvoller!
dann habe ich aber noch nicht das Omega problem gelöst!

ziel wird sein die 2x2 matrizen zu multiplizieren, was mir eine 2x2 matrix N liefern wird. dann möchte ich Elemente von N(1,1) und N(1,2) weiterverwenden (N(1,1)+N(1,2)=o --> das heisst diese Gleichung lösen als funktion von omega)!!

uiui....ich hoffe diese anfrage passt hier hin etc. ist nicht zu penetrant! lol

auch für teil-ideen bin ich sehr dankbar!
netten gruss,
fabian

        
Bezug
matrix mit funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 23:30 Do 15.02.2007
Autor: Martin243

Hallo,

> hoffe nicht zu triviales zu fragen, bzw nicht zu speziell

Keine Angst. Hauptsache ist, es ist verständlich, was du meinst.


> möchte ich eine matrix erzeugen M(j), die eine Funktion von Omega ist!

Also ist M abhängig von j und [mm] $\Omega$? [/mm] Wenn ja, in welcher Weise?
Wenn du M für mehrere bekannte j und unbekannte [mm] $\Omega$ [/mm] berechnen willst, dann benötigst du die Symbolic Toolbox. Teste einfach, ob der Befehl "syms Omega" keine Fehlermeldung liefert, dann ist die verfügbar.

Für die Funktionsdefinition selbst kannst du die mal "inline" in der Hilfe ansehen. Damit müsste es gehen.

Die 100x100-Matrix ist bestimmt nicht optimal, aber du schreibst auch nicht, wieviele kleine Matrizen es werden. Kannst du präziser werden?


Gruß
Martin

Bezug
                
Bezug
matrix mit funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:48 Mo 19.02.2007
Autor: lehugo

also danke erst einmal für deine antwort

"Also ist M abhängig von j und $ [mm] \Omega [/mm] $"

M(j) ist in erster linie von omega abhängig!
j soll der laufparamater sein, d.h in meinem fall verschieden schichten im erduntergrund darstellen...der ausdruck für M ist demnach von j und omega abh.!

"wieviele kleine Matrizen es werden"

naja .. im generellen schon für n-schichten, in der praxis werden es aber nicht mehr als n=50 kleinere matrizen werden!

die inline funktion habe ich mir schon einmal angeschaut, komme aber zu keinem vernünftigen ergebnis!

ziel wird sein die 2x2 matrizen zu multiplizieren, was mir eine 2x2 matrix N liefern wird. dann möchte ich Elemente von N(1,1) und N(1,2) weiterverwenden (N(1,1)+N(1,2)=o --> das heisst diese Gleichung lösen als funktion von omega)!!

viele grüsse, fabian

Bezug
                        
Bezug
matrix mit funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 15:58 Mo 19.02.2007
Autor: Martin243

Hallo,

das Problem ist mir immer noch nicht ganz klar, aber hier mal ein paar Ansätze:
Wenn du mehrere gleichgroße Matrizen zu einem Array zusammenfassen willst, fügst du einfach noch eine Dimension hinzu. Dann kannst du auf die einzelnen Matrizen so zugreifen:
M(:,:,1) enstpricht deiner Matrix M(1)
M(:,:,12) entspricht deiner Matrix M(12)

Wenn du eine Matrix per Funktion definieren willst, in es auch kein großes Problem. Wir wollen uns eine Matrix definieren, deren Einträge Funktionen von [mm] $\Omega$ [/mm] sind:
f = inline('[omega 2; 4*omega+1 omega/2]')

Nun kannst du z.B. f(22) berechnen und bekommst eine Matrix, die sich durch Anwendung der Vorschrift auf 22 ergibt.

Ansonsten habe ich das mit den N-Einträgen nicht verstanden. du hast es einfach per Copy&Paste aus deinem letzten Beitrag eingefügt. Was soll denn das kleine o?


Gruß
Martin

Bezug
                        
Bezug
matrix mit funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:53 Mo 19.02.2007
Autor: lehugo

hi

ok, das mit der inline funktion sieht ganz gut aus!
auch wenn  ich die matrizen, nicht explizit für Omega lösen möchte, sondern  vielmehr die Matrizen für j=2...n erstellen möchte, als Funktion von Omega!
Dann werde ich  diese (nach der schleife j=2...n, nur noch) von Omega abh Matrizen multiplizieren (M(1)*M(2)...), was mir eine Matrix N liefern wird...hofentlich :)

Diese Matrix N wird wieder 2x2 sein und aus dieser Matrix wird die Gleichung aufgestellt N(1,1) + N(1,2)=0   (hier ist eine null...sorry kein kleines o)!
diese Gleichung soll dann für omega gelöst werden!!


vielleicht interessiert dich für was ich das mache
ich versuche mir dispersionskurven für oberflächenwellen zu erstellen (in der seismik),dafür muss ich die geschwindigkeit der seismischen wellen in abhängigkeit von der frequenz errechen  ;))

Bezug
                                
Bezug
matrix mit funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 17:11 Mo 19.02.2007
Autor: Martin243

Hallo,

zum Ausftellen und Lösen der Gleichung benötigst du die Symbolic Toolbox.
Dann deklarierst du Omega als Symbol:
syms Omega;

Dann berechnest du mit Hilfe der Funktion(en) f deine Matrix N:
N = f(Omega)*....

Nun kannst du rechnen:
Omega_0 = solve(N(1,1)+N(1,2))

Dieser Vektor enthält dann mögliche Lösungen.


Gruß
Martin

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


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]