Exponent im SCL Code

paula23

Level-2
Beiträge
235
Reaktionspunkte
15
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich wills nochmal mit SCL probieren, vielleicht kann mir jemand helfen, wie kann ich Gleichung im SCL darstellen,

xy:= ( A1 * A2 ) ^ A3

A1 = REAL irgendwas
A2 = REAL irgendwas
A3 = 1/3
^ = hoch

Danke, schönes WE
 
Ich habe da noch ein Problem, wenn zum Beispiel x ** 3 und x = 0 dann bekomme ich follgendes Ergebins -1.#IND00e+000

Sollte da nicht einfach nur "null" stehen ???

Alle weiteren Ergebnisse werden dann auch nicht mehr ausgewertet.

Danke, schönes WE
 
Ich habe da noch ein Problem, wenn zum Beispiel x ** 3 und x = 0 dann bekomme ich follgendes Ergebins -1.#IND00e+000

Sollte da nicht einfach nur "null" stehen ???

Alle weiteren Ergebnisse werden dann auch nicht mehr ausgewertet.

Danke, schönes WE

Es scheint, du brauchst bissel Mathe-Grundlagen....

Du hast so was y=x^(1/3)=(1/3)*ln(exp(x))
Ln=logarith.fucntion
In SCL stehen Dir schon die beiden Funktionen (Ln & exp) zur Verfügung

Also schönes Wochenende
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich weiss nicht ob ich das jetzt verstehen soll. @ johnij

Wenn ich 10**3 angebe, funktioniert alles super = 1000
Wenn ich 0 **3 angebe, FEHLER -1.#IND00e+000

Warum ist das so, muss ich eine Abfrage auf null verhindern? Warum ist das in SCL nicht machbar ????
 
... ich glaube, die Antwort auf dieses Problem ist eher philosophisch ...

Grundsätzlich empfiehlt es sich aber m.E. bei Operationen oberhalb von Addition und Subtraktion vorsichtig mit der Null umzugehen - es können (ganz gleich welche Programmiersprache) dabei ganz "interessante" Ergebnisse heraus kommen.

Gruß
LL
 
... ich lege noch mal einen nach ...

die Formel von Johnij war "fast" richtig ...
Ganz richtig hätte es so wahrscheinlich besser geklappt :

a^x entspricht exp(x * ln(a))

und dort liegt auch das Problem - der Wert ln(0) ist in der Logarithmentabelle nicht definiert ... Deshalb der dargestellte Fehler ...

Gruß
LL
 
nun, mal zurück - im Prinzip ist's wie bei der Division, man muss halt vor Abfragen, ob der Wert für die Funktion / Operation zulässig ist

z.B. so:
Code:
 IF x <> 0 THEN
   y := x**a;
else
   y := 0;
end_if;
sinngemäß
 
Zuletzt bearbeitet:
????

Bsp x = 8

8^(1/3)=2

1/3*ln(e^8) = 8/3

2 = 8/3 :confused: *ROFL*

Guten Abend,

Sei f: A-->B eine Funktion
x--->f(x)

x=f^(-1)(f(x)) //Allgemein

Ln ist die Umkehrfunktion von Exp

d.h x=ln(exp(x))=exp(ln(x)) für x>0

Sei X=x^(1/3)

Also x^(1/3)=ln(exp(x^(1/3))=(1/3)*exp(ln(x)) für x>0

lim ln(x)= - unednlich falls x--->0+

Die sind halt einfache Grundlagen


@4L+kiestumpe: ihr habt keine Ahnung von der Mathematik
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
nun, mal zurück - im Prinzip ist's wie bei der Division, man muss halt vor Abfragen, ob der Wert für die Funktion / Operation zulässig ist

z.B. so:
Code:
 IF x <> 0 THEN
   y := x**a;
else
   y := 0;
end_if;
sinngemäß

Allgemein Faaaaaaaaaaaaaalsch..............
sagen wir mal x=-5 , a=1/2
--> y=(-5)^(1/2)= wurzel(-5)---> die schreibweise existiert nicht
 
Guten Abend,

Sei f: A-->B eine Funktion
x--->f(x)

x=f^(-1)(f(x)) //Allgemein

Ln ist die Umkehrfunktion von Exp

d.h x=ln(exp(x))=exp(ln(x)) für x>0

Sei X=x^(1/3)

Also x^(1/3)=ln(exp(x^(1/3))=(1/3)*exp(ln(x)) für x>0

lim ln(x)= - unednlich falls x--->0+

Die sind halt einfache Grundlagen


@4L+kiestumpe: ihr habt keine Ahnung von der Mathematik

Dieser Beitrag ist so Klasse, dass ich ihn voll zitieren muss ...
Das Kiestumpe und Vierlagig keine Ahnung von Mathematik haben bezweifle ich hier mal. Falls ich unrecht habe, dann kann der Eine oder Andere mich ja korrigieren ...
Aber du, mein lieber Johnij hast mir gerade bewiesen, dass du ganz sicher (trotz deiner Elite-Uni-Ausbildung) keine Ahnung von Mathematik hast, da du die gleiche falsche Formel jetzt nun schon zum 2. Mal hier anbietest und das, obwohl ich die richtige Darstellung ein paar Beiträge zuvor hier gepostet habe - du hättest deine Interpretation eigentlich nur darauf beziehen müssen - aber so ...
Vielleicht solltest du erst mal ein bißchen mitlesen und dich informieren bevor du hier "in die Kacke haust" ...

Für alle, die zu faul zum blättern sind :
Johni's Version nochmal :
meine Version nochmal :
a^x entspricht exp(x * ln(a))
fällt einem der "kleine" Unterschied auf ...? Ich gebe ja zu, dass Logarithmen heute nicht mehr so an der Tagesordnung sind ... aber so etwas ...

In diesem Sinne
Gruß
LL
 
Zuletzt bearbeitet:
Es scheint, du brauchst bissel Mathe-Grundlagen....

Du hast so was y=x^(1/3)=(1/3)*ln(exp(x))

Sei X=x^(1/3)

Also x^(1/3)=ln(exp(x^(1/3))=(1/3)*exp(ln(x))

Die sind halt einfache Grundlagen

Johnij, Du solltest Dir mal das 1. Logarithmusgesetz (Logarithmus eines Produktes) und das 3. Logarithmusgesetz (Logarithmus einer Potenz) ansehen:

Logarithmus

y = exp (x) <=> ln (y) = x

Logarithmus

1. Logarithmusgesetz (Logarithmus eines Produktes)

Ein Produkt wird logarithmiert, indem die Logarithmen der einzelnen Faktoren addiert werden:

ln (x * y) = ln (x) + ln (y)

1. Logarithmusgesetz (Logarithmus eines Produktes)

3. Logarithmusgesetz (Logarithmus einer Potenz)

Eine Potenz wird logarithmiert, indem der Exponent mit dem Logarithmus der Basis multipliziert wird:

ln (x^n) = n * ln (x)

Beispiel:

ln (x^2) = ln (x * x) = ln (x) + ln (x) = 2 * ln (x)

3. Logarithmusgeset (Logarithmus einer Potenz)

3. Logarithmusgesetz (Logarithmus einer Potenz) - Beweis

Wenn man nun das 3. Logarithmusgesetz (Logarithmus einer Potenz) auf Deine Rechnung anwendet, erhält man als Lösung:

ln (x^(1/3)) = (1/3) * ln (x)

x^(1/3) = exp ((1/3) * ln (x))

Gruß Kai
 
@LL : Das war ein Mist......................aber danke trotzdem
Dass ich keine Ahnung habe---> ich lache mich tod..... ganz ehrlich, weil mir sowas weit geht
 
Zuletzt bearbeitet:
Zurück
Oben