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

Gleichungssystem Richtungsvektor mit Normierungsbedingung

 

Peter_8686
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 18.12.13
Wohnort: München
Version: ---
     Beitrag Verfasst am: 30.12.2013, 02:05     Titel: Gleichungssystem Richtungsvektor mit Normierungsbedingung
  Antworten mit Zitat      
Hallo,
ich möchte ein Programm schreiben, das mir einen gegebenen Spannungstensor Sigma (ausgedrückt in einem beliebigen xyz KOS) die Hauptspannungen und die Hauptspannungsrichtungen berechnet. Ich mache das gerade sehr häufig analytisch und würde mich über diese Hilfe freuen.

Um mein Problem zu verdeutlichen habe ich eine Beispiel-Matrix gewählt.

Ich scheitere, an der Stelle Matlab zu sagen das ein Gleichungssystem mit Vier Gleichungen und 3 Variablen gelöst werden soll. (Kein exaktes Ergebnis von nöten.)

Code:
>> A=[-80 -40 80;-40 40 120;80 120 -40]

A =

   -80   -40    80
   -40    40   120
    80   120   -40

>> HS=eig(A) %Hauptspanungen berechnen

HS =

 -194.7809
  -12.8700
  127.6509

>> sigmah=sort (HS,'descend') %Hauptspannungen sortieren

sigmah =

  127.6509
  -12.8700
 -194.7809
%Richtungsvektor für erste Hauptspannung

>> B=diag([ sigmah(1) sigmah(1) sigmah(1) ])

B =

  127.6509         0         0
         0  127.6509         0
         0         0  127.6509

>> n1gl=A-B

n1gl =

 -207.6509  -40.0000   80.0000
  -40.0000  -87.6509  120.0000
   80.0000  120.0000 -167.6509

>> syms nx ny nz
>> nxyz1=[nx;ny;nz]
 
nxyz1 =
 
 nx
 ny
 nz
 
>> solve (n1gl*nxyz1==0,nx,ny,nz)
 
%wenn >> n1=solve (n1gl*nxyz1==0,nx^2+ny^2+nz^2==1,nx,ny,nz)
%kann er durch die Normierungsbediengung kein exates Ergebnis liefern (soll er auch nicht, normiert halt)

ans =

    nx: [1x1 sym]
    ny: [1x1 sym]
    nz: [1x1 sym]

>> n1 = [n1.nx n1.ny n1.nz]
 
n1 =
 
[ 0, 0, 0]

%   Analytisch ist zu lösen
%   n1gl(1,1) * nx + n1gl(1,2) * ny + n1gl(1,3) * nz==0
%   n1gl(2,1) * nx + n1gl(2,2) * ny + n1gl(2,3) * nz==0
%   n1gl(3,1) * nx + n1gl(3,2) * ny + n1gl(3,3) * nz==0
%   Normierungsbedingung:nx^2+ny^2+nz^2==1
%    Ergebnis wären passende,keine exakten Werte für nx,ny,nz


Ich habe ja das Problem: A*x = b
Sehe ich das richtig, dass ich "x = inv(A)*b" nicht nehmen kann weil b bei mir der Nullvektor ist?


Über Hilfe wie ich das Problem zu lösenist würde ich mich sehr freuen.
Gruß Peter
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


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.