Verfasst am: 09.09.2008, 18:58
Titel: bräuchte dringend hilfe
Hallo,
ich müsste eine Simulation des Walzprozesses mit Matlab schreiben.
Habe auch schon munter angefangen zu programmieren habe jedoch Probleme.
könnte mir jemand bei der Bewelltigung des Problems helfen.
Anbei schicke ich mal das von mir programmierte. Matlab sagt zwar wo der Fehler ist aber ich erkenne in der Programmierung keinen Fehler.
Code:
clear, closeall, clc; disp(['Walzprozess',date]) global a b C ha hb Jw Jz Jges mW mZ mges k r1 r2 s0 tspan ys rho B Z
% Konstanten
a=B/2 + Z/2; % Bandmitte - Zapfenmitte [m]
b=0.8; % Bandbreite [m]
C=1850000000; % Geruestmodul [N/m]
Jw=1/4*mW*r1^2+1/12*mW*B^2
Jz=1/4*mZ*r2^2+2*mZ*((B)/2+(Z)/2)^2
Jges=Jw+2*Jz+2*mZ*((B)/2+(Z)/2)^2
mW=pi*r1^2*B*rho %Ballenmasse [kg]
mZ=pi*r2^2*Z*rho %Zapfenmasse [kg]
mges=mW+2*mZ
k=190000000; %Umformwiderstand [N/m^2]
r1=0.5; %Ballenradius [m]
r2=r1/1.5; %Lagerzapfenradius [m]
s0=0.03; %Voreinstellung [m]
rho=7865; %Dichte von Stahl [kg/m^3]
B=b*2; %Ballenbreite
Z=b/1.5; %Zapfenbreite
%Eingangsparameter
tspan=[0;3]
ys=[0;0;0;0];
%DGL Lösen
options=odeset('OutputFcn',@odeplot,'OutputSel',[13]);
[t,x]=ode23(@ma,tspan,ys,options);
%Ausgabe der Ergebnisse
figure, nor=1e+3;
subplot(2,1,1),plot(t,x(:,1)*nor),xlabel('t in [s]'),ylabel('Auffederung in [mm]') subplot(2,1,2),plot(t,x(:,3)),xlabel('t in [s]'),ylabel('Winkel in [rad]')
function[dgl]=ma(t,x) global a b C ha hb Jw Jz Jges mW mZ mges k r1 r2 s0 tspan ys rho B Z
%Berechnung der Voreinstellung
ha=0.010*(1+sin(100*t)/5); %Bandhöhe links [m]
hb=0.018*(1+cos(100*t)/5); %Bandhöhe rechts [m]
%DGL
dgl=[x(2);((1/2*sqr(2)*b*k*sqrt(2*r1(ha-x(1)-s0-b*sin(x(3)))))-2*C*x(1)+(1/2)*sqrt(2)*b*k*sqrt*(2*r1(hb-x(1)-s0+b*sin(x(3)))))/mges;x(4);(((1/4)*sqrt(2)*b^2*k*sqrt(2*r1(ha-x(1)-s0-b*sin(x(3))))-2*C*a*x(1)-(1/4)*sqrt(2)*b^2*k*sqrt*(2*r1(hb-x(1)-so+b*sin(x(3)))))/Jges)];
.
r1 ist ein einzelner Wert, mit r1(bla) würdest Du auf das bla-te Element zugreifen, einmal hast Du hier nur ein Element, und r1(1) kannst Du auch weglassen. Und selbst wenn r1 mehrere Elemente hätte müsstest Du die mit positiven ganzen Zahlen adressieren, und
hier mal das Programm um die Tippfehler bereinigt. Ob die DGL jetzt aber sachlich richtig ist, keine Ahnung. Eine Lösung kommt raus, aber warum sollte die Auffederung oszillieren und auch negativ werden?
Was ist denn das für ein Walzprozess?
bekomme jedoch keine Schwingung hin, werde mich mal morgen erneut zum dozenten hinschleppen und ihn um hilfe für die korrekte aufstellung der dgl bitten.
so wie ich es mir vorgestellt habe, sollte es in allen fällen, d.h. ob mit keilig einlaufendem band oder ohne zu einem auffedern des gerüstes kommen, der jedoch nach einer gewissen zeit zur ruhe kommt.
Hi,
g und m0 sind auch nicht definiert...
Wie soll jemand da was überprüfen können?
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
Einstellungen und Berechtigungen
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
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.