gibt in LTSpice sowas wie #define ?

Gast #2643388
Hallo,

gibts in LTSpice so etwas wie das #define bei C?

Ich habe einen nichtlinearen Widerstand der über folgende Formel 
beschrieben wird:
1
R = 0.55 - 0.25*( (abs(((V(Vsa)-V(Vsb))*1000)-5.9)-(abs(((V(Vsa)-V(Vsb))*1000)-6.1)-0.2))/(2*0.2) )

Wie man sieht ist das nicht wiklich sehr übersichtlich und ich würde 
jetzt gerne einzelne Terme "auslagern".

In C würde ich jetzt
1
#define ISH ((V(Vsa)-V(Vsb))*1000)
schreiben und die Formel von oben wäre schon wesentlich übersichtlicher:
1
R = 0.55 - 0.25*( (abs(ISH-5.9)-(abs(ISH-6.1)-0.2))/(2*0.2) )

Kann man sowas auch in LTSpice machen? Ist ja quasi nur eine simple 
Text-Ersetzung vor dem Parsen...

(habe schon .param probiert aber das kommt anscheinend nur mit Zahlen 
klar)
#2643513
Margon schrieb:
> (habe schon .param probiert aber das kommt anscheinend nur mit Zahlen
> klar)

Lass die Formel eben ausgeschrieben da stehen. Dann kannst du die festen 
Zahlenwerte durch .param definierte Werte ersetzen. So ergeben sich auch 
Möglichkeiten, etwas schnell zu verändern.

Zur besseren Übersichtlichkeit kannst du die Formel nochmals mit den 
Linientools und den Text-Kommentaren nachbasteln. Oder du erstellst ein 
Bauteil, das nichts anderes tut, als die Formel in "schön" darzustellen.

mfg mf
#2644051
Hallo Margon,

Mit .param geht das nicht, da simulationsabhängige Variablen (Spannungen 
oder Ströme) in der Formel sind. Man muss dann "functions" nehmen.

.func ISH() {((V(Vsa)-V(Vsb))*1000)}

R = 0.55 - 0.25*( (abs(ISH()-5.9)-(abs(ISH()-6.1)-0.2))/(2*0.2) )

Gruß
Helmut
Angehängte Dateien:
Moderator #2644616
Warum schreibst du statt diesem Formelmonster
1
  R = 0.55 - 0.25*( (abs(((V(Vsa)-V(Vsb))*1000)-5.9)-(abs(((V(Vsa)-V(Vsb))*1000)-6.1)-0.2))/(2*0.2) )

nicht einfach
1
  R = table(V(Vsa,Vsb), 5.9m, 0.55, 6.1m, 0.3)

?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.