Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Mathcad
  Variablen überschreiben / neu definieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Variablen überschreiben / neu definieren (3177 mal gelesen)
Salvador
Mitglied
Vermessungstechniker

Sehen Sie sich das Profil von Salvador an!   Senden Sie eine Private Message an Salvador  Schreiben Sie einen Gästebucheintrag für Salvador

Beiträge: 7
Registriert: 23.05.2011

---HARDWARE---
MSI MS-7502
Intel Core 2 Quad Q6600 @ 2.4GHz
nVidia GeForce GTX 260 (896MB)
8GB DDR2 RAM GEiL
---SOFTWARE---
Win 7 Pro x64 SP1 EN
AutoCAD 2018 x64 EN
AutoCAD 2019 x64 EN
AutoCAD Civil 3D 2018 x64 EN
Leica Geo Office 8.4

erstellt am: 10. Jun. 2013 16:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich bin gerade dabei, mich in Mathcad einzuarbeiten, aber zu einer Sache finde ich einfach keine Lösung.

Wenn ich es richtig verstanden habe:
- um eine Variable in einer Funktion nutzen zu können, muss diese vorher (links oder über der Funktion) definiert und mit einem Wert belegt werden
(was für mich etwas unpraktisch ist)

Nun möchte ich aber eine Funktion definieren, in der sich eine (oder mehrere) Variablen im Laufe meiner Berechnungen ändern.

einfaches Beispiel zum veranschaulichen

Folgendes passiert:

Code:
a := 2
b := 3
x := a * b
x = 6
a := 3
b := 4
x = 6

ich erwarte aber das:

Code:
a := 2
b := 3
x := a * b
x = 6
a := 3
b := 4
x = 12


x sollte an dieser Stelle 12 ergeben, da ich a und b neu definiert habe.
Kann mir da jemand weiterhelfen?

Vielen Dank im Voraus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Clayton
Ehrenmitglied
Konstrukteur


Sehen Sie sich das Profil von Clayton an!   Senden Sie eine Private Message an Clayton  Schreiben Sie einen Gästebucheintrag für Clayton

Beiträge: 1632
Registriert: 07.02.2004

AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100
Inventor Series 10
Mathcad 13

erstellt am: 10. Jun. 2013 16:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Salvador 10 Unities + Antwort hilfreich

Hi,
Mathcad rechnet von oben nach unten und von links nach rechts. D.h. wenn Du "a" und "b" neu definierst geht Mathcad nicht zurueck und errechnet ein neues "x", Du muesstest dann auch nochmal x:=a*b tippen. Das heisst aber nicht, dass Du nicht z.B. x(a,b):=a*b festlegen kannst und dann hinterher a:=2, b:=3, x(a,b)=6 und auch a:=3, b:=4 und damit x(a,b)=12 wird
Gruss

[Diese Nachricht wurde von Clayton am 10. Jun. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Salvador
Mitglied
Vermessungstechniker

Sehen Sie sich das Profil von Salvador an!   Senden Sie eine Private Message an Salvador  Schreiben Sie einen Gästebucheintrag für Salvador

Beiträge: 7
Registriert: 23.05.2011

erstellt am: 10. Jun. 2013 17:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die schnelle Hilfe.

Das Vorgehen von Mathcad finde ich etwas gewöhnungsbedürftig.
Außerdem werden meine "Formeln" dadurch wesentlich größer.

Wenn ich z.B. folgende hypothetische Funktion habe: f := 2a^2 * (3/4)b * 5c * 6d^3 * 7e + 8f^4 * 9g *10h^5 * 11i *12j^6 + 13k
muss ich:
1. alle Variablen definieren und Werte zuweisen
2. die Formel in "ausführlicher" Form hinschreiben: f(a,b,c,d,e,f,g,h,i,j,k)

und bei späteren Berechnungen also so vorgehen, wenn ich eine (oder zwei) Variable(n) ändern will:
1. Variable(n) neu definieren, z.B.: a := 9876,54321
2. Funktion wieder "komplett" hinschreiben: f(a,b,c,d,e,f,g,h,i,j,k) =

Ich habe sehr oft den Fall, dass ich eine ziemlich lange Formel mit verschiedenen Werten (meistens nur ein oder zwei) durchrechne, der Rest bleibt wie gehabt.
Es ist einfacher, sich eine Funktion "f" zu merken, als z.B. "f(a,b,c,d,e,f,g,h,i,j,k)

Also noch Mal zum verdeutlichen meines Problems: z.B. das Volumen eines Körpers, der sich wiederum aus sagen wir 20 Teilkörpern zusammensetzt. Selbst bei einem sehr einfachen Körper ergäbe das eine Funktion mit über 40 Variablen. So eine Formel jedes Mal hinschreiben zu müssen, wenn sich ein Wert ändert, ist für mich fernab jeder Logik.

Gibt es in Mathcad keine Möglichkeit solche Berechnungen zu vereinfachen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 10. Jun. 2013 18:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Salvador 10 Unities + Antwort hilfreich


mc.jpg


mc2.jpg

 
Wie wäre es mit einem Vektor bzw einer Matrix (für die Bezeichnungen)?

Axel

------------------
CAD.DE: Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de
Berufliches Umfeld: comsol.net; comsol.ch; Euromanagers


[Diese Nachricht wurde von Axel.Strasser am 10. Jun. 2013 editiert.]

[Diese Nachricht wurde von Axel.Strasser am 10. Jun. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Clayton
Ehrenmitglied
Konstrukteur


Sehen Sie sich das Profil von Clayton an!   Senden Sie eine Private Message an Clayton  Schreiben Sie einen Gästebucheintrag für Clayton

Beiträge: 1632
Registriert: 07.02.2004

AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100
Inventor Series 10
Mathcad 13

erstellt am: 10. Jun. 2013 19:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Salvador 10 Unities + Antwort hilfreich


Variation.pdf

 
Hi,
Ja, so gehts oder auch so -->
Der Phantasie sind keine Grenzen gesetzt.
Gruss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rmix22
Mitglied



Sehen Sie sich das Profil von rmix22 an!   Senden Sie eine Private Message an rmix22  Schreiben Sie einen Gästebucheintrag für rmix22

Beiträge: 146
Registriert: 13.09.2013

erstellt am: 13. Sep. 2013 18:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Salvador 10 Unities + Antwort hilfreich

Ich glaube dein Problem ist, dass du zwar andauern davon sprichts/schreibst, Funktionen zu verwenden, du aber tatsächlich nur mir Variablen arbeitest.
x:=a+b weist der Variablen x die Summe der Variablen a und b zu, und zwar mit jenen Werten, die a und b an der Stelle der Zuweisung von x haben.
Wenn du anschießend a und/oder b änderst, hat das natürlich keinen Einfluß auf den Wert der Variablen x - das wär ja auch schlimm.
Anders verhält es sich, wenn du x tatsächlich als Funktion definierst. Alles, du veränderlich halten möchtest wird dieser Funktion dann als Parameter übergeben. Also, wie schon vorgeschlagen etwa fx(a,b):=a+b.
Wenn du dann später in deinem Arbeitsblatt zB x:=fx(a,b) schreibst, erhält x die Summe aus den aktuellen Werten der Variablen a und b. Natürlich kannst du auch x:=fx(3,b) oder x:=fx(3,2) verwenden, aber in letzterem Fall wäre x:=5 dann doch vernünftiger ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz