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

Allgemeine Fragen zum Programmieren

 

knyas
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 28.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2009, 17:44     Titel: Allgemeine Fragen zum Programmieren
  Antworten mit Zitat      
Hallo,

ich habe ein paar Fragen:
1. Worum bei Figure1 gibt es oben in der Mitte ein Loch?
Wie könnte man es beseitigen?
2. bei Figure7 gibt es am Ende einen Sprung in die Mitte. Wie könnte man es beseitigen?
3. bei Figure8 muss nur eine Kreiskurve sein.
4. wie kann ich den Fehler at 151 beseitigen.
Vielen Dank für Ihre Mühe.
Code:
% Das ist mein Programm.

clear all
clc



R_G=15.74;      % Nocken-Grundkreisradius, mm
r=42.5;         % Krümmungsradius der Druckfläche, welche mit dem Nocken zusammenarbeitet, mm
i=1.2;          % Schlepphebelverhältnis
Z=5/8;

%Wählbare Größen
H_0=0.26;       % Vornockenhöhe, mm
H=5.5;          % Hauptnockenhöhe, mm
f_0=26;          % Abschnittlänge vom Vornocken, Grad
f_1=18;          % Grad
f_2=4;           % Grad
f_3=38;          % Grad


F_0=pi*f_0/180   ;  % Abschnittlänge vom Vornocken im Winkelmass, rad bei 26°
F_1=pi*f_1/180    ;% Abschnittlänge im Winkelmass, rad bei 18°
F_2=pi*f_2/180    ;% Abschnittlänge im Winkelmass, rad bei 4°
F_3=pi*f_3/180    ;% Abschnittlänge im Winkelmass, rad bei 38°


phi_0=0:0.0001:F_0;
phi_1=F_0:0.0001:F_0+F_1;
phi_2=F_0+F_1:0.0001:F_0+F_1+F_2;
phi_3=F_0+F_1+F_2:0.0001:F_0+F_1+F_2+F_3;
phi_4=2*(F_0+F_1+F_2+F_3):0.0001:2*pi;

phi=[phi_0 phi_1 phi_2 phi_3];
phi_gr=phi*180/pi;
%Berechnung der Konstanten:
k_1=0.506606*F_2^2
k_2=0.9375*F_3^2
k_3=1.75*F_3
K_1=k_1+k_2+k_3*F_2
K_2=k_3+0.795775*F_2
ds_OE=H_0*pi/2/F_0                          % mm
c_11=(K_1*ds_OE+K_2*H)/(K_1*2+K_2*F_1)      % mm
c_12=(c_11-ds_OE)*F_1/pi                   % mm
c_32=(2*c_11-ds_OE)/K_2                     % mm
c_21=c_32*k_3                               % mm
c_22=c_32*k_1                               % mm
c_31=c_32/(16*F_3^2)                        % mm
c_33=c_32*k_2                               % mm
ds_max=2*c_11-ds_OE                         % mm

% Abschnittfunktionen (f_s=F_3-(phi_3-F_0-F_1-F_2)):

f_s=F_3-(phi_3-F_0-F_1-F_2);
s_1=c_11*F_1-c_12*sin(pi/F_1*F_1)+H_0;       % mm
s_2=c_21*F_2+c_22*sin(pi/2/F_2*F_2)+s_1;    % mm


% Erhebung
s0=H_0*(1-cos(pi/2/F_0*phi_0)) ;              % mm
s1=c_11*(phi_1-F_0)-c_12*sin(pi/F_1*(phi_1-F_0))+H_0 ;     % mm
s2=c_21*(phi_2-F_0-F_1)+c_22*sin(pi/2/F_2*(phi_2-F_0-F_1))+s_1;     %, mm
s3=c_31*f_s.^4-c_32*f_s.^2+c_33+s_2    ;      % mm

y=[s0 s1 s2 s3 ];

figure(1)
plot(phi_gr,y); hold on, grid on

phi1=phi*cos(pi)-y*sin(pi)+2*(F_0+F_1+F_2+F_3);
phi1_gr=phi1*180/pi;
plot(phi1_gr,y);

% Geschwindigkeit
ds0=H_0*pi/2/F_0*sin(pi/2/F_0*phi_0);
ds1=c_11-c_12*pi/F_1*cos(pi/F_1*(phi_1-F_0));
ds2=c_21+c_22*pi/2/F_2*cos(pi/2/F_2*(phi_2-F_0-F_1));
ds3=-4*c_31*(F_3-(phi_3-F_0-F_1-F_2)).^3+2*c_32*(F_3-(phi_3-F_0-F_1-F_2));

dy=[ds0 ds1 ds2 ds3];
figure(2)
plot(phi_gr,dy);hold on, grid on
plot(phi1_gr,dy);

% Beschleunigung
dds0=H_0*(pi/2/F_0).^2*cos(pi/2/F_0*phi_0);
dds1=c_12*(pi/F_1).^2*sin(pi/F_1*(phi_1-F_0));
dds2=-c_22*(pi/2/F_2).^2*sin(pi/2/F_2*(phi_2-F_0-F_1));
dds3=12*c_31*(F_3-(phi_3-F_0-F_1-F_2)).^2-2*c_32;

ddy=[dds0 dds1 dds2 dds3];

figure(3)
plot(phi_gr,ddy);hold on, grid on
plot(phi1_gr,ddy);


figure(4)
subplot(311)
plot(phi_gr,y); hold on, grid on
plot(phi1_gr,y);
subplot(312)
plot(phi_gr,dy);hold on, grid on
plot(phi1_gr,dy);
subplot(313)
plot(phi_gr,ddy);hold on, grid on
plot(phi1_gr,ddy);


% Krümmungsradien am Nocken:

% Mitte Beschl.-Abschnitt: f_1=F_1/2
s=H_0+c_11*F_1/2-c_12                       % mm
S=R_G+r+s                                   % mm
ds=c_11                                    % mm
dds=c_12*(pi/F_1)^2                 % hier dds_max, mm
% gewölbte Gegenfläche
roh=(S^2+ds^2)^1.5/(S^2+2*ds^2-S*dds)-r     % mm
% ebene Gegenfläche
roh=R_G+s+dds                               % mm

% Spitze: f_s=0
s=H_0+H                                     % mm
S=R_G+r+s                                   % mm
dds=-2*c_32                                 % hier dds_min, mm
% gewölbte Gegenfläche
roh=S^2/(S-dds)-r                           % mm
% ebene Gegenfläche
roh=R_G+s+dds                               % mm

figure(5)
y1=y+R_G;
plot(phi_gr,y1); hold on, grid on
plot(phi1_gr,y1);

figure(6)
plot(phi_gr,y1); hold on, grid on
plot(phi1_gr,y1);hold on
phi_4gr=phi_4*180/pi;
plot(phi_4gr,R_G);

figure(7)
phi_gesgr=[phi_gr phi1_gr ];
y_ges=[y1 y1];
plot(phi_gesgr,y_ges );

figure(8)
polar(phi1_gr,y1);

figure(9)
phi_gesgr1=[phi_gr phi1_gr  phi_4gr];
y_ges1=[y1 y1 R_G];
plot(phi_gesgr1,y_ges1 );


Untitled7.m
 Beschreibung:

Download
 Dateiname:  Untitled7.m
 Dateigröße:  4.05 KB
 Heruntergeladen:  372 mal
Untitled7.m
 Beschreibung:

Download
 Dateiname:  Untitled7.m
 Dateigröße:  4.05 KB
 Heruntergeladen:  359 mal
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.09.2009, 10:04     Titel:
  Antworten mit Zitat      
1. Ich musste sehr genau hinschauen um das Loch zu finden. Es ist ein Renderer-Effekt. Mit dem "ZBUFFER" Renderer gibt es z.B. kein Loch.

2. Dazu müsste man wissen was es darstellen soll. Der PLOT zeigt auf jeden Fall was die Daten hergeben. Bei PHIGESGR gibt es einen Sprung der Daten von Element 151012 zu 15013.

3. Sieht in der Tat gar nicht nach Kreis aus, aber wie können wir da helfen?

4.

Code:

 Name            Size                Bytes  Class     Attributes

  phi_gesgr1      1x62837            502696  double              
  y_ges1          1x30025            240200  double              

??? Error using ==> plot
Vectors must be the same lengths.

Error in ==> test_forum42 at 154
plot(phi_gesgr1,y_ges1 );
 


Man könnte durch Interpolation die Vektorren gleich lang machen. Aber es kann ja auch sein, dass eine der beiden Vektoren gar nicht die Länge hat die er eigentlich haben soll.

Andreas
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 - 2024 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.