www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathematica" - Programmcode
Programmcode < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Programmcode: Mathematica Code läuft nicht
Status: (Frage) beantwortet Status 
Datum: 22:41 Mo 04.02.2008
Autor: konmaster

Hallo alle zusammen...
habe folgendes programm bekommen leider sind da sehr wahrscheinblich fehler drin, so dass ich es nicht zum laufen bekomme... deswegen die frage an  euch spezialisten.
benötige das prog um vergleichsrechnungen zu machen...


Programmstart
                  
                  

                  Remove["Global'*"]
<< Graphisc 'Graphics3D'

                  [mm] ____________________________________________________________\ [/mm]
_______________________________________________
Parametereinstellwerte

                  alphas = 5*Pi/180; (Null)
bs = 6; (Angabe in mm)
ae = 25/100; (Angabe in mm)
(hat auf deltagrad max so gut wie keinen Einfluss)
af = 4/100; (Angabe in mm)
rss = 400/2 (Angabe in mm)
rws = 60/2 (Angabe in mm)
nw = 1000/60 (Angabe in mm)
bss = ae/(Tan[alphas]);
imax = IntegerPart[(bss/af)];
If[imax == 0, imax = 1];
vec = Table[i, {i, 1, imax, 1}]
z = ae - vec*af*Tan[alphas] (Näherung gilt erst ab Punkt 2)
x = bss - vec*af (Näherung gilt erst ab Punkt 2)
rssi = rss - z (Schnittfläche zweier Kreise)

                  [mm] ____________________________________________________________\ [/mm]
________________________________________________
Definitionen

                  r10 = rss;
r1 = rssi (Schleifscheibe)
(Berechnung gilt erst ab Punkt 2)
r2 = rws; (Werkstück)
h = r10 - ae + r2

                  [mm] ____________________________________________________________\ [/mm]
_______________________________________________
Schnittpunkte

                  k1[w_] = [mm] Sqrt[r1^2 [/mm] - [mm] w^2]; [/mm]
k2[w_] = h - [mm] Sqrt[r2^2 [/mm] - [mm] w^2] [/mm]
l1 = {};
Do[{w0 = Solve[k1[w]MBj == k2[w], w], l1 = Append[l1, w0]}, {j, 1, max, 1 [mm] \ [/mm]
=)
l1;
l1 = w/ .l1;
erg = N[Table[l2MBjMB2, {j, 1, imax, 1}]] (Die Höhen (erg) gelten ab [mm] \ [/mm]
Punkt 2 entsprechend beta/betass/st)
(Winkel im Bogenmaß, werkstückseitig)
beta = ArcSin[erg/r2]; (Berechnung gilt erst ab Punkt 2)
(Winkel im Bogenmaß, scheibenseitig)
betass = ArcSin[erg/r1]; (Berechnung gilt erst ab Punkt 2)
st = erg; (Höhe in mm (st))
[mm] ______________________________________________________________________________\ [/mm]
______________________________
Berechnung von Delta
                
vw = nw*Pi*2*rws;
vaf = nw*af;
tst = rws*
                  beta/vw; (Näherung (normalerweise mit rwsi) aber ae im [mm] \ [/mm]
Verhältnis zu rws vernachlässigbar klein)
sa = vaf*tst;
delta = ArcTan[sa/st]; (Berechnung gilt erst ab Punkt 2)
deltagrad = delta*180/Pi
deltagemittelt = N[(Max[Deltagrad] + Min[deltagrad])/2]
Qw = N[Pi*(2*rws)*(ae)*(nw)*(af)]
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Koordinate für Durchdringungslinien mit rws = konstant
                
px = Reverse[Append[Reverse[x], N[bss]]]; Durch
                das manuelle
                    Hinzufügen des Pkt.1 gelten die Koordinaten ab Pkt.1)
py = Reverse[Append[Reverse[st], 0]];
pz = Reverse[Append[Reverse[rssi(1 - Cos[betass]) + z], ae]];
linie = Transpose[{px, py, pz}];
ScatterPlot3D[linie, TextStyle -> FontSize -> 17, AxesLabel -> {"X", "Y",
              "Z"}, ViewPoint -> {-1.839, -7.095, 0.865}, PlotStyle ->
              PointSize[0.06]]
grün = ListPlot[Transpose[{
              px, py}], AxecLabel -> {"x", "y"}, TextStyle -> FontSize ->
              17, AxesOrigin -> {0,
                  0}, PlotStyle -> PointSize[0.02], AspectRatio -> Automatic]
ListPlot[Transpose[{px, pz}],
              AxesLabel -> {"X",
                "Z"}, TextStyle -> FontSize -> 17, AxesOrigin -> {0, 0}]
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Koordinate für die Durchdingungslinie mit rws = nicht konstant
              
deltax = Reverse[Append[Reverse[st*Tan[delta]], 0]];
deltax = Table[deltax]; (Berechnung gilt ab Punkt 1)
pxhilfe = Table[px]; (Berechnung gilt ab Punkt 1)
deltaxges = Table[i, {1, imac + 1, 1}];
Do[{deltaxgesMBI + 1 = (pxhilfeMBi - deltaxMBi) - (pxhilfeMBi + 1 - [mm] \ [/mm]
deltaxMBi + 1)}, {i, 1, imax, 1}];
deltaxges (Achtung : der erste Wert von deltaxtges ist nur aufgrund der [mm] \ [/mm]
Konstukion der Formel vorhanden und hat mit der Rechnung nichts zu tun)
deltaxge = Delete[deltaxges, 1]; (Entfernung des "Konstruktionswertes")
(Berechnung gilt erst ab Punkt 2)
deltahges = deltaxges*Tan[alphas]; (Berechung gilt erst ab Punkt 2)
rwsi = Table[i, {i, 1, imax, 1}];
rwsiMB1 = rws; (
          Berechnung gilt erst ab Punkt 2, aber durch das manuelle
                Einfügen des Punktes 1 ist r1 = r2 = rws)
Do[{rwsiMBi + 1 = (rwsiMBi - deltahgesMBi]}, {i, 1, imax - 1, 1}]
rwsi; (Der erste
              Inhalt von rwsi entspricht nicht dem
                    Radius in Punkt 2, da Punkt 1
                        nachträglich non HAnd eingefügt wurde)
[mm] ______________________________________________________________________________\ [/mm]
_______________________________
Berechnung von Betasternchen
        
r1 = rssi; (Schleifscheibe)
(Berechnung gilt erst ab Punkt 2)
r2 = rwsi; (werkstück)
h
kstern1[v_] = [mm] Sqrt[r1^2 [/mm] - [mm] v^2]; [/mm]
kstern2[v_] = h - [mm] Sqrt[r2^2 [/mm] - [mm] v^2]; [/mm]
l1 = {};
Do[{v0 = Solve[kstern1[
v]MBj == kstern2[v]MBj, v], l1 = Append[l1, v0]}, {j, 1, imax, 1}];
N[l1]
l2}v /. l1;
erg2 = Table[l2MBjMB2, {j, 1, imax, 1}] (Die
  Höhen (erg2) gelten ab Punkt 2)
(winkel betasternchen im Bogemaß werkstückseitig)
beta = ArcSin[erg2/r2] (Die Winkel beta gelten ab Punkt 2)
(Winkel im Bogenmaß, scheibenseitig)
betass = ArcSin[erg2/r1] (Die Winkel betass gelten ab Punkt 2)
ststernchen = erg2; (Die Höhen (erg2) gelten ab Punkt 2)
(Koordinaten der Durchdringungslinie mit rws nicht konstant)
deltast = st - ststernchen (deltast/deltasa gelten ab Punkt 2)
deltasa = deltast*Tan[delta]
Psternchenx = Reverse[Append[Reverse[x - deltasa], N[
    bss]]]; (Die Koordinaten gelten wieder ab Punkt 1)
Psterncheny = Reverse[Append[Reverse[ststernchen], 0]];
Psternchenz = Reverse[Append[Reverse[(rssi + deltase*Tan[alphas])*(1 - [mm] \ [/mm]
Cos[betass]) + z - deltasa*tan[alphas]], N[ae]]]
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Koordinaten im zyl Teil

deltahschrupp = (PsternchenxMB imax + 1 - PsternchenyMBimax + 1*Tan[deltaMBimac])*Tan[alphas]
(imax + 1, da Punkt 1 nachträgleich eingefüt
  wurde.delta[imax] ist passende Winkel zum Pkt.imax + 1)
r1 = rss (Berechnung gilt lediglich für einen Punkt 2)
r2 = rws - ae + deltahschrupp (Werkstückdurchmesser )
r10 = rss
h
m1[t_] = [mm] Sqrt[r1^2 [/mm] - [mm] t^2] [/mm]
m2[t_] = h - [mm] Sqrt[r2^2 [/mm] - [mm] t^2] [/mm]
l1 = {}
t0 = Solve[m1[t] == m2[t], t]
l1 = Append[l1, t0]
l2 = t /. l1;
erg3 = Table[l2MBjMB2, {j, 1, 1, 1}]
ststernchenzyl = erg3;
tststernchenzyl = ((r2)*(ArcSin[erg3/r2]))/vw; (aktueller WS - Radius*
      Schnittwinkel/vw ergibt Eingriffszeit)
sasternchenzyl = vaf*tststernchenzyl
deltasternchenzyl = ArcTan[Sasternchenzyl/ststernchenzyl]
Psternchenzylx = PsternchenxMBimax + 1 - af - (
    PsternchenyMBimax + 1 - ststernchenzyl)*Tan[deltasternchenzyl];
(imax + 1, da Pkt.1 nachträglich eingefügt wurde.)
Psternchenzylx = Reverse[Append[Psternchenzylx, -af]]
Psternchenzyly = ststernchenzyl;
Psternchenzyly = Append[Psternchenzyly, 0]
Psternchenzylz = Table[i, {i, 0, 01}]
Psternchenzylz = Flatten[Reverse[
    Append[Psternchenzylz, (rss(1 - Cos[ArcSin[erg3/rss]]))]]]
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Berechnung der Zweischenpunkte

Psternchenx = Reverse[Append[Psternchenx, Psternchenzylx]];
Psternchenx = Reverse[Append[Flatten, Psternchenx]]
Psterncheny = Flatten[Append[Psterncheny, Psternchenzyly]]
Psterncheny = Flatten[Append[Psternchenz, Psternchenzylz]];
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Berechnung der Koordinaten im Anfangsbereich

deltaxanf = (bss - xMB1)/10
anfvec == Table[i, {i, 9}]
xanf = bss - anfvec*anfvec*deltaxanf;
rssanf = rss - xanf*(ae/bss);
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Definitonen

r10 = rss;
r1 = rssanf; (scheibe)
r2 = rws;
h = r10 - ae + r2
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Schnittpunkte

k1[w_] = [mm] Sqrt[r1^2 [/mm] - [mm] w^2]; [/mm]
k2[w_] = [mm] Sqrt[r2^2 [/mm] - [mm] w^2]; [/mm]
l1 = {};
Do[{w0 = Solve[k1[w]MBj == k2[w], w], l1 = Append[l1, w0]}, {j, 1, 9, 1}]
l1;
l2 = w /. l1;
erg = Table[l2MBjMB2, {j, 1, 9, 1}]; (Winkel im Bogenmaß, [mm] \ [/mm]
werkstückseitig)
betaanf - ArcSind[erg/r2]; (Winkel im Bogenmaß, scheibenseitig)
betassanf = ArcSin[erg/r1]; (Höhe in mm (st))
Pxanf = Prepend[xanf, bss];
Pyanf = Prepend[Pyanf = erg, 0];
Pzanf = Prepend[Pzanf = (xanf*(ae/bss) + rssanf(1 - Cos[betassanf])), ae];
[mm] ______________________________________________________________________________\ [/mm]
_____________________________
Koordinaten der Durchdringungs

KoordinateX = N[Flatten[Prepend[KoordinateX =
       Delete[Psternchenx, 1], Pxanf]]]
KoordinateY = N[Flatten[Prepend[KoordinateY = Delete[Psterncheny, 1], [mm] \ [/mm]
Pxanf]]]
KoordinateZ = N[Flatten[Prepend[KoordinateZ = Delete[Psternchenz, 1], [mm] \ [/mm]
Pxanf]]]
Koordinatenergebnis1 = Transpose[{KoordinateX, KoordinateY, KoordinateZ}]
[mm] Export["c:/Koordinaten/llalphaqp0_1.wmf", [/mm] Koordinatenergebnis1, "Table"]
linie = Transpose[{KoordinateX, KoordinateY, KoordinateZ}];
ScatterPlot3D[linie, TextStyle ->
         Fontsize -> 17, AxesLabel -> {"X", "Y", "Z"},
   ViewPoint -> {-0, 000, -2.657, 2.095}, PlotStyle -> PointSize[0.06]]

rot = ListPlot[Transpose[{KoordinateX,
        KoordinateY}], AxesLabel -> {"x", "y"}, TextStyle -> FontSize ->
      17, AxesOrigin -> {0, 0}, PlotStyle -> {PointSize[0, 02],
      RGBColor[1, 0, 0]}, AspectRatio -> Automatic]

ListPlot[Transpose[{KoordinateX, KoordinateZ}], AxesLabel -> {"X", "Z"},
    TextStyle -> FontSize -> 17, AxesOrigin -> {0, 0}]
deltagrad
Show[rot, grün]
[mm] ______________________________________________________________________________\ [/mm]
______________________________
Programmende











Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Dateianhänge:
Anhang Nr. 1 (Typ: txt) [nicht öffentlich]
        
Bezug
Programmcode: Antwort
Status: (Antwort) fertig Status 
Datum: 08:24 Di 05.02.2008
Autor: nschlange

Hi,

in dem Code sind viele Tippfehler,
nicht zusammenpassende Klammern,
und , statt . in Zahlen.

Viele Grüße
nschlange

Bezug
        
Bezug
Programmcode: Antwort
Status: (Antwort) fertig Status 
Datum: 16:39 Mi 06.02.2008
Autor: BKM

Hallo

Ich habe das Programm etwas überarbeitet um eine Handvoll Fehler ( s. erste Antwort)  zu beseitigen. Es sind noch ca. 2 Bugs vorhanden, die Du aber vielleicht selber mal versuchst zu finden.
Programmcode

Beste Grüße

Dateianhänge:
Anhang Nr. 1 (Typ: nb) [nicht öffentlich]
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de