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

Biegelinie plotten / Laufvariablenrichtung umkehren

 

CarloR

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2014, 14:41     Titel: Biegelinie plotten / Laufvariablenrichtung umkehren
  Antworten mit Zitat      
Hallo liebe Leute,
ich bin noch ziemlich frisch im Umgang mit Matlab und bitte daher um möglichst einfache Lösungen für mein Problem Smile

Ich möchte eine Biegelinie plotten, die sich aus Fall 2 und 3 aus der Tabelle 4b im Dubbel 23 zusammensetzt.
Fall 2: Loslager links, Einspannung rechts und Punktlast
Fall 3: Loslager links, Einspannung rechts und Streckenlast über den ganzen Balken.
Hierbei bin ich auf ein Problem gestoßen, und zwar setzt sich die erste Biegelinie aus zwei Funktionen zusammen, die folgendermaßen definiert sind:
0<=x1<=a:
x1=0:.01:1242;
w1=(((-F).*l.*(b.^2))/(4.*E.*I)).*[((a.*x1)/(l.^2))-((2/3).*(1+(a/(2.*l))).*((x1/l).^3))];

Hier geht die Variable x1 beim Loslager links los und geht zur Einspannung nach rechts.

Der zweite Teil der Funktion ist dann:
a<=x2<l:
x2=0:.01:3000;
w2=(-F.*(l.^2).*a/(4.*E.*I)).*[(1-(a.^2/(3.*l.^2))).*((x2/l).^2)-(1-(a.^2/(3.*l.^2))).*(x2/l).^3];

Hier geht das x aber bei der Einspannung los und geht Richtung Loslager.

Die Funktion für die Streckenlast (Fall 3) ist dazu:
x=0:.01:3000;
ws=(-q.*(l.^4)/(48.*E.*I)).*[(x/l)-(3.*((x/l).^3))+(2.*((x/l).^4))];

Nach dem Superpositionsprinzip ist die gesamte Biegung dann w+ws mit w zusammengesetzt aus w1 und w2.

Meine Werte sind alle gegeben mit:
F=456.91;
q=0.0846;
I=1178588.12;
E=210000;
a=1242;
b=1758;
l=3000;

Vielen Dank für eure Hilfe! Smile
Gruß Carl


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 16.11.2014, 18:51     Titel: Re: Biegelinie plotten / Laufvariablenrichtung umkehren
  Antworten mit Zitat      
Hallo Carl,

Du hast nicht erwähnt was genau das Problem ist, daher konnte ich nur raten.

Code:
F=456.91;
q=0.0846;
I=1178588.12;
E=210000;
a=1242;
b=1758;
l=3000;

%0<=x1<=a:
x1=0:.01:a;
w1=(((-F).*l.*(b.^2))/(4.*E.*I)).*[((a.*x1)/(l.^2))-((2/3).*(1+(a/(2.*l))).*((x1/l).^3))];

%a<=x2<l:
x2=a+.01:.01:3000;  % Untere Grenze setzen
w2=(-F.*(l.^2).*a/(4.*E.*I)).*[(1-(a.^2/(3.*l.^2))).*((x2/l).^2)-(1-(a.^2/(3.*l.^2))).*(x2/l).^3];

x=0:.01:3000;
ws=(-q.*(l.^4)/(48.*E.*I)).*[(x/l)-(3.*((x/l).^3))+(2.*((x/l).^4))];

w = [w1, w2];  % w erzeugen
biegung = w + ws;  % Superposition


Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
CarloR

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2014, 09:38     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort. Das Hauptproblem ist, dass die Biegelinie w1 für ein anderes Koordinatensystem als die Linie w2 definiert ist. Der Nullpunkt von w1 liegt links im Loslager und geht dann in Richtung Einspannung. Die Kurve w2 startet in der Einspannung. Wenn man bei w2 b einsetzt sollte so dann das gleiche rauskommen, wie wenn man bei w1 a einsetzt. Die Kurven einfach hintereinander zu schalten habe ich auch probiert, aber das führt zu keinem guten Ergebnis. Ich müsste w2 irgendwie um seine y achse spiegeln und dann noch auf der x achse verschieben... Aber geht das irgendwie einfacher?
 
CarloR

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2014, 01:36     Titel:
  Antworten mit Zitat      
Hat keiner eine Idee? :(
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 19.11.2014, 20:04     Titel:
  Antworten mit Zitat      
Hallo Carl,

CarloR hat Folgendes geschrieben:
Vielen Dank für die schnelle Antwort.

Gern geschehen.

Zitat:
Ich müsste w2 irgendwie um seine y achse spiegeln und dann noch auf der x achse verschieben... Aber geht das irgendwie einfacher?

Einfacher als...?

CarloR hat Folgendes geschrieben:
Hat keiner eine Idee? Sad

Ich denke, das liegt an deiner schwer verständlichen Erklärung des Problems. Du solltest dein Problem Matlab-spezifisch beschreiben, damit kennt die Mehrheit sich hier aus; mit Maschinenbau vllt der ein oder andere.

Geht das in die richtige Richtung? Wenn nicht, beschreib dein Problem anhand der verwendeten Grafik und Vektoren.
Code:
F=456.91;
q=0.0846;
I=1178588.12;
E=210000;
a=1242;
b=1758;
l=3000;

%0<=x1<=a:
x1  =0:.01:1242;
hw1 = @(x1) (((-F).*l.*(b.^2))/(4.*E.*I)).*[((a.*x1)/(l.^2))-((2/3).*(1+(a/(2.*l))).*((x1/l).^3))];
w1  = hw1(x1);

%a<=x2<l:
x2  = 0:.01:3000;
hw2 = @(x2) (-F.*(l.^2).*a/(4.*E.*I)).*[(1-(a.^2/(3.*l.^2))).*((x2/l).^2)-(1-(a.^2/(3.*l.^2))).*(x2/l).^3];
w2  = hw2(x2);

x=0:.01:3000;
ws=(-q.*(l.^4)/(48.*E.*I)).*[(x/l)-(3.*((x/l).^3))+(2.*((x/l).^4))];

plot(x1,w1, x2,w2, x,ws);
hold on;
w2_flip = fliplr(w2);
plot(x2,w2_flip);

idx = strfind(w2_flip, hw2(a));
w2_teil = w2_flip(idx:end);
x2_teil = x2(idx:end) - (b-a);
plot(x2_teil, w2_teil);

legend('w1', 'w2', 'ws', 'w2\_flip', 'w2\_teil', 'location', 'southwest')
line([a, a], [0, -.8]);
line([b, b], [0, -.8]);


btw w2_teil und w1 treffen sich bei a nicht, müsste man noch korrigieren.

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
CarloR

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2014, 10:51     Titel:
  Antworten mit Zitat      
Moin. Tut mir Leid, dass ich das Problem nur so mechanisch beleuchtet habe, das liegt einfach daran, dass ich von Matlab zu wenig verstehe.
Die tiefste blaue Kurve sieht schon gar nicht schlecht aus, da ich aber nicht genau verstehe wie die entstanden ist, kann ich nicht sagen ob das so richtig ist. Ich habe die gleiche Frage jetzt ins Techniker Forum gestellt, mal sehen ob das was bringt.
Kannst Du mir vielleicht in eigenen Worten erläutern, was genau Du mit den Kurven machst?
Vielen Dank und Gruß,
Carl
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 20.11.2014, 20:34     Titel:
  Antworten mit Zitat      
Hi,

w2_flip ist w2 "umgedreht". http://de.mathworks.com/help/matlab/ref/fliplr.html

w2_teil ist der Teil von w2_flip ab w2(a) bis zum Ende.

Grüße
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
CarloR

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2014, 11:44     Titel:
  Antworten mit Zitat      
Ah ok!
Ich glaube so kann das funktionieren, ich probiere es nochmal selber aus,
viele Dank für Deine Hilfe!
Viele Grüße,
Carl
 
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.