Discussion:
großes Versagen bei mir mit meinen bescheidenen Kenntnissen, MuPAD und Octave
(zu alt für eine Antwort)
Leo Baumann
2017-11-06 04:52:01 UTC
Permalink
Hallo,

im Rahmen einer elektrotechnischen Berechnung sollen folgende beiden
Ausdrücke inverse Laplace-transformiert werden. -

Mir, MuPAD und Octave fällt dazu nichts mehr ein. Sieht übel aus im
Exponenten. -

Gibt es sinnvolle Umwandlungen, dass eine Transformation möglich ist?

Wer hilft? Wer hat eine Idee?

www.leobaumann.de/newsgroups/Laplace0.jpg
www.leobaumann.de/newsgroups/Laplace1.jpg

Danke - Leo
Christian Gollwitzer
2017-11-06 06:11:42 UTC
Permalink
Post by Leo Baumann
im Rahmen einer elektrotechnischen Berechnung sollen folgende beiden
Ausdrücke inverse Laplace-transformiert werden. -
Mir, MuPAD und Octave fällt dazu nichts mehr ein. Sieht übel aus im
Exponenten. -
Gibt es sinnvolle Umwandlungen, dass eine Transformation möglich ist?
Wer hilft? Wer hat eine Idee?
www.leobaumann.de/newsgroups/Laplace0.jpg
www.leobaumann.de/newsgroups/Laplace1.jpg
Was genau hast Du davon, wenn Du diesen ekligen Ausdruck symbolisch
invertiert hast? Da stehen doch sowieso Dezimalbrüche als Koeffizienten
drin, und esgibt nur eine freie Variable. Kannst Du nicht versuchen, die
Laplace-Transformation numerisch zu berechnen? Guck doch mal, ob Du das
hier unter Octave zum Laufen bekommst:

https://de.mathworks.com/matlabcentral/fileexchange/39035-numerical-inverse-laplace-transform

oder hier

http://octave.1599824.n4.nabble.com/Fast-numerical-inverse-Laplace-transform-td1607134.html

NB: Ich hab das nicht getestet, das waren einfach die ersten sinnvollen
Google-Treffer zu "inverse laplace transform numerical"

Christian
Leo Baumann
2017-11-06 11:55:02 UTC
Permalink
Post by Christian Gollwitzer
Post by Leo Baumann
im Rahmen einer elektrotechnischen Berechnung sollen folgende beiden
Ausdrücke inverse Laplace-transformiert werden. -
Mir, MuPAD und Octave fällt dazu nichts mehr ein. Sieht übel aus im
Exponenten. -
Gibt es sinnvolle Umwandlungen, dass eine Transformation möglich ist?
Wer hilft? Wer hat eine Idee?
www.leobaumann.de/newsgroups/Laplace0.jpg
www.leobaumann.de/newsgroups/Laplace1.jpg
Was genau hast Du davon, wenn Du diesen ekligen Ausdruck symbolisch
invertiert hast? Da stehen doch sowieso Dezimalbrüche als Koeffizienten
drin, und esgibt nur eine freie Variable. Kannst Du nicht versuchen, die
Laplace-Transformation numerisch zu berechnen? Guck doch mal, ob Du das
https://de.mathworks.com/matlabcentral/fileexchange/39035-numerical-inverse-laplace-transform
    oder hier
http://octave.1599824.n4.nabble.com/Fast-numerical-inverse-Laplace-transform-td1607134.html
NB: Ich hab das nicht getestet, das waren einfach die ersten sinnvollen
Google-Treffer zu "inverse laplace transform numerical"
    Christian
Dies hab' ich wohl dazu gefunden, aber soweit bin ich noch nicht mit Octave:

http://code.activestate.com/recipes/576934-numerical-inversion-of-the-laplace-transform-using/

:(
Christian Gollwitzer
2017-11-06 21:05:27 UTC
Permalink
Post by Leo Baumann
Post by Christian Gollwitzer
http://octave.1599824.n4.nabble.com/Fast-numerical-inverse-Laplace-transform-td1607134.html
http://code.activestate.com/recipes/576934-numerical-inversion-of-the-laplace-transform-using/
Das ist ja auch kein Octave, sondern Python. Falls das funktioniert,
solltest Du Dir einfach ein Python runterladen, z.B. Anaconda
https://www.anaconda.com/download

Christian
Leo Baumann
2017-11-06 21:22:28 UTC
Permalink
Post by Christian Gollwitzer
Post by Leo Baumann
Post by Christian Gollwitzer
http://octave.1599824.n4.nabble.com/Fast-numerical-inverse-Laplace-transform-td1607134.html
http://code.activestate.com/recipes/576934-numerical-inversion-of-the-laplace-transform-using/
Das ist ja auch kein Octave, sondern Python. Falls das funktioniert,
solltest Du Dir einfach ein Python runterladen, z.B. Anaconda
https://www.anaconda.com/download
    Christian
Ich werde das umschreiben in Octave u. MuPAD.

Leo
Christian Gollwitzer
2017-11-06 21:41:41 UTC
Permalink
Post by Leo Baumann
Post by Christian Gollwitzer
Post by Leo Baumann
Post by Christian Gollwitzer
http://octave.1599824.n4.nabble.com/Fast-numerical-inverse-Laplace-transform-td1607134.html
http://code.activestate.com/recipes/576934-numerical-inversion-of-the-laplace-transform-using/
Das ist ja auch kein Octave, sondern Python. Falls das funktioniert,
solltest Du Dir einfach ein Python runterladen, z.B. Anaconda
https://www.anaconda.com/download
Ich werde das umschreiben in Octave u. MuPAD.
Und warum genau willst Du das selber machen? Octave ist doch im
Wesentlichen kompatibel zu Matlab, also suche doch eninfach nach einer
Matlab-IMplementation. Auf Anhieb habe ich das gefunden:

https://arxiv.org/abs/1304.2505

Unter
arxiv.org/e-print/1304.2505v3

bekommt man das zugehörige tar-Archiv mit einer Matlab-IMplementierung
der Methode.

Christian
Leo Baumann
2017-11-06 23:25:59 UTC
Permalink
Post by Christian Gollwitzer
Und warum genau willst Du das selber machen? Octave ist doch im
Wesentlichen kompatibel zu Matlab, also suche doch eninfach nach einer
    https://arxiv.org/abs/1304.2505
Unter
    arxiv.org/e-print/1304.2505v3
bekommt man das zugehörige tar-Archiv mit einer Matlab-IMplementierung
der Methode.
    Christian
Der Aufwand war nicht groß. -

Hier die Ergebnisse der numerischen, inverse Laplace Transformation nach
Talbot der angegebenen Ausdrücke (sieghe die beiden Diagramme).

Es handelt sich um die Sprungantwort und die Rechteckimpulsantwort einer
fehlabgeschlossenen, verlustbehafteten (realen) Leitung (hier:RG213-Koax).

www.leobaumann.de/newsgroups/Laplace2.pdf

Die Ergebnisse der numerischen Transformation sind zufriedenstellend.

Gruß Leo
Leo Baumann
2017-11-07 04:43:56 UTC
Permalink
Post by Christian Gollwitzer
Und warum genau willst Du das selber machen? Octave ist doch im
Wesentlichen kompatibel zu Matlab, also suche doch eninfach nach einer
    https://arxiv.org/abs/1304.2505
Unter
    arxiv.org/e-print/1304.2505v3
bekommt man das zugehörige tar-Archiv mit einer Matlab-IMplementierung
der Methode.
    Christian
v3 läßt sich bei mir nicht herunterladen :(
Ich könnte das gut für Octave gebrauchen ...

Leo
Christian Gollwitzer
2017-11-07 06:07:49 UTC
Permalink
Post by Leo Baumann
Post by Christian Gollwitzer
Und warum genau willst Du das selber machen? Octave ist doch im
Wesentlichen kompatibel zu Matlab, also suche doch eninfach nach einer
     https://arxiv.org/abs/1304.2505
Unter
     arxiv.org/e-print/1304.2505v3
bekommt man das zugehörige tar-Archiv mit einer Matlab-IMplementierung
der Methode.
     Christian
v3 läßt sich bei mir nicht herunterladen :(
Ich könnte das gut für Octave gebrauchen ...
Kann ich nicht nachvollziehen - unter

http://arxiv.org/e-print/1304.2505v3

bekomme ich eine Datei, die allerdings arxiv-typisch keine Endung hat.
Es handelt sich um ein Tar-Archiv. Das kannst Du mit "tar xvf
1304.2505v3" unter Linux /OSX auspacken, in Windows mit 7-Zip / Winrar
oder ähnlichen Tools. U.U. vorher in "irgendwas.tar" umbenennen. Oder
vielleicht spukt Dein Virenscanner?

Christian
Leo Baumann
2017-11-07 06:34:40 UTC
Permalink
Post by Christian Gollwitzer
Kann ich nicht nachvollziehen - unter
    http://arxiv.org/e-print/1304.2505v3
bekomme ich eine Datei, die allerdings arxiv-typisch keine Endung hat.
Es handelt sich um ein Tar-Archiv. Das kannst Du mit "tar xvf
1304.2505v3" unter Linux /OSX auspacken, in Windows mit 7-Zip / Winrar
oder ähnlichen Tools. U.U. vorher in "irgendwas.tar" umbenennen. Oder
vielleicht spukt Dein Virenscanner?
    Christian
Mit diesem, Deinem Link konnte ich die laden, umbenennen und mit 7-Zip
entpacken. Aber mit Octave sehe ich nur die erste Zeile oder mit einem
Editor sehe ich nur Kauderwelsch. -

In der ersten Zeile steht "Duffy2oc.pdf" als Klartext, dann Kauderwlesch.

Aber ich habe woanders für Octave Source-Code für eine numerische, inv.
Laplacetransf. mit Beispielen gefunden.

https://de.mathworks.com/matlabcentral/fileexchange/39035-numerical-inverse-laplace-transform?focused=5251827&tab=function

Leo
Christian Gollwitzer
2017-11-07 20:27:08 UTC
Permalink
Post by Leo Baumann
Mit diesem, Deinem Link konnte ich die laden, umbenennen und mit 7-Zip
entpacken. Aber mit Octave sehe ich nur die erste Zeile oder mit einem
Editor sehe ich nur Kauderwelsch. -
In der ersten Zeile steht "Duffy2oc.pdf" als Klartext, dann Kauderwlesch.
Dann guckst Du Dir das tar-File an, und nicht das was entpackt wurde.
Nachdem die Funktionnicht besonders groß ist, hab ich sie mal hier unten
hinkopiert:

=========================function [integral,est] = ModifiedTalbot( F,t,opt)

% This function computes an inverse Laplace transform using the cotangent
% version of the Talbot contour. For small N precomputed parameter values
% are used and for larger N parameters optimized for stability issues
% are used to counteract the roundoff error.
%
% BD & JACW, 2014/03/24
%
% INPUT
%
% F Function handle of the transform which shall be inverted
% numerically
% t Single time value for which the inverse shall be evaluated
%
% OPTIONAL
%
% opt Containing a struct with arbitrary many of the following
%
% shift_transform Frequency shift of the transform
% 0 (default)
% re_control Determines if roundoff error parameters should be
% taken into account.
% re_control = 1 if so (default)
% re_control = 0 if not
% If singularities are located off the negative real
% axis, this parameter should always be 0.
% accuracy_goal Stops the evaluation if the error estimate reaches
% the given goal.
% 1e-10 (default)
% max_nodes Maximal number of nodes used
% 100 (default)
% fig Sets if a figure of the convergence history is
% shown.
% 0 no plot (default)
% 1 plot
% exact_result Exact result of the inverse of F at time t for
% testing purposes
%
% OUTPUT
%
% integral Value of the approximation
% est Estimate for the relative error of 'integral' to the
% exact solution or (if 'exact_result' is assigned)
% relative error of 'integral' to 'exact_result'
%
% EXAMPLES
%
% ModifiedTalbot(@(z) 1./(z+1),1)
% ModifiedTalbot(@(z) 1./sqrt(z),2,struct('accuracy_goal',1e-6,'fig',1))
%
% proper treating of branchcuts for 1./sqrt(z.^2+1)
% ModifiedTalbot(@(z) 1./(sqrt(z-1i).*sqrt(z+1i)),1e-2)
%

% In case of no additional inputs
if nargin<3, opt=struct();end

% Getting values specified in options, if not specified, set default
[shift, re, acc, NMax, fig, fe]=processOptions(opt,...

{'shift_transform','re_control','accuracy_goal','max_nodes','fig','exact_result'},...
{ 0,1,1e-10,100,0,[] });

% Precomputed optimal parameters for Talbot's contour
a= .6407; m = .5017; s = .6122; n = .2645;

% Fix the correction term if a transform shift is involved
shiftI = exp(shift*t);

% Compute the inverse using Talbot's method and the precomputed parameters
% until the accuracy goal is reached or an increase of the error due to
% roundoff errors is observed
NN1 = 4:2:NMax;
NN2Start = NMax+2;
E1 = [];

% First value for comparing the approximation
integrals=1;
for N = NN1
theta = ([0:N/2-1]+0.5)*2*pi/N;
z = N/t*(-s + m*theta.*cot(a.*theta)+n*1i*theta);
Dz = N/t*(n*1i+m*cot(a*theta)-m*a*theta.*(csc(a*theta)).^2);
fa = shiftI*2/N*imag(sum(exp(t*z).*Dz.*F(z+shift)));

% Check if fe is assigned
% TRUE compare with exact result
% FALSE compare with previous computed value of the integral
if isempty(fe)
E1 = [E1; abs((fa-integrals(end))/fa);];
integrals = [integrals;fa];
else
E1 = [E1; abs((fa-fe)/fe);];
integrals = [integrals;fa];
end

% If given accuracy is reached stop the evaluation of the loop
% The second RE-parameter loop will not be evaluated due to the
% previous setting of NN2Start
if E1(end)<acc
NN1 = 4:2:N;
break;
end

% If error starts to increase two times in a row, at least 24 nodes are
% used and the errors are of a reasonable size at which we can speak of
% convergence (i.e. < 1e-2 ), switch on RE-control
if (re && N >=24)
if (E1(end) > E1(end-1) && E1(end)>E1(end-2) && E1(end-2)<1e-2)
NN1 = 4:2:N;
NN2Start = N+2;
break;
end
end
end

% If we consider roundoff error parameters, the following section will
% begin right after an increase of the error due to roundoff issues is
% recognized.
if re
E2 = [];
NN2 = NN2Start:2:NMax;

% Calculate an approximation to the constant in the O expressions when
% comparing the estimated rate of convergence with the estimated
% roundoff error impact
K = eps*exp(1.529*(NN2Start-4));
for N = NN2
theta = ([0:N/2-1]+0.5)*2*pi/N;

% Calculate the optimal value for c for roundoff parameters
fz = @(c) c + (log(eps/K))/N - 2*a*c^2*(sin (a*pi))^2/(2*a*c^2*...
(sin (a*pi))^2 - pi*sin (2*a*pi)*sinh (a*c)^2) + (2*c*...
(sin (a*pi))^2*(sinh (a*c))^2)/(a*(2*a*c^2*(sin (a*pi))^2 ...
-pi*sin (2*a*pi)*(sinh (a*c))^2));
c = fzero(fz,1);

% Determine the roundoff parameters and calculate the approximation
B =
c*(sin(a*pi))^2/(2*a*c^2*(sin(a*pi))^2-pi*sin(2*pi*a)*(sinh(a*c))^2);
s = 2*a*c^2*B;
m = 2*(sinh(a*c))^2*B;
n = (sinh(2*a*c)-2*a*c)*B;
z = N/t*(-s + m*theta.*cot(a.*theta)+n*1i*theta);
Dz = N/t*(n*1i+m*cot(a*theta)-m*a*theta.*(csc(a*theta)).^2);
fa = shiftI*2/N*imag(sum(exp(t*z).*Dz.*F(z+shift)));

% Check if fe is assigned
% TRUE compare with exact result
% FALSE compare with previous computed value of the integral
if isempty(fe)
E2 = [E2; abs((fa-integrals(end))/fa);];
integrals = [integrals;fa];
else
E2 = [E2; abs((fa-fe)/fe);];
integrals = [integrals;fa];
end

% If given accuracy is reached stop the evaluation of the loop
if E2(end)<acc
NN2 = (NN2Start):2:N;
break;
end
end
end

% Plot results
if fig
if re
plotResults(NN1,E1,NMax,t,NN2,E2)
else
plotResults(NN1,E1,NMax,t)
end
end

% Return solution
if re
E = [E1;E2];
else
E = E1;
end
[est, pos] = min(E);
integral = integrals(pos+1);
end







function [varargout]=processOptions (opt,names,stdvalues)
% Reads options or default values out of struct.
% See http://www-m3.ma.tum.de/Software/ComplexVisualToolbox for further
% information

varargout=cell(1,length(names));

for i=1:length(names)
if (isfield(opt,names{i}))
varargout{i}=opt.(names{i});
else
varargout{i}=stdvalues{i};
end
end
end



function plotResults(NN1,E1,NMax,t,NN2,E2)
figure;
semilogy(NN1,E1,'k-'); hold on;
semilogy(NN1,E1,'k.','MarkerSize',16);

% Theoretically predicted rate of convergence
semilogy(NN1,exp(-1.358*NN1),'b-.','LineWidth',2);
if nargin == 6
semilogy(NN2,E2,'k-'); shg; hold on;
semilogy(NN2,E2,'k.','MarkerSize',14);
end
axis([0 NMax+2 1e-16 1e0]); grid on;
title(['t = ' num2str(t)],'FontSize',14,'interp','LaTeX')
end

=================================
- ich nehme an, die Lizenz gibt das her.

Christian
Leo Baumann
2017-11-07 21:04:09 UTC
Permalink
Post by Christian Gollwitzer
Dann guckst Du Dir das tar-File an, und nicht das was entpackt wurde.
Nachdem die Funktionnicht besonders groß ist, hab ich sie mal hier unten
hinkopiert ...
Ah, dann habe ich mit dem falschen File gekämpft. Linux ist für mich
eine fremde Welt. -

Danke, dass Du das hier hinkopiert hast.

Im Laufe der Woche schaue ich 'mal.

Gruß
Leo Baumann
2017-11-08 06:41:14 UTC
Permalink
[...]

:(

Diese "modified Talbot-function" funktioniert jetzt hier, aber ist in
Verbindung mit Octave für die Problemstellung der numerischen, inversen
Laplace-Transformation "praktisch unbrauchbar". -

Während ich mit einem gleichartigen Algorithmus unter MuPAD etwa 4 bis
10 Minuten für eine Transformation mit grafischer Ausgabe bei einem
Fehler kleiner 0.4 % benötige, nimmt Octave sich 5.3 bis 14 Stunden
dafür Zeit.

Das ist nicht akzeptabel. Jede Berechnung kostet zwischen 1 und 2 Euro
Strom für meinen i7 - 8-Kerner mit 64 GiByte RAM :-)

... also unbrauchbar ...
Christian Gollwitzer
2017-11-08 07:27:44 UTC
Permalink
Post by Leo Baumann
Diese "modified Talbot-function" funktioniert jetzt hier, aber ist in
Verbindung mit Octave für die Problemstellung der numerischen, inversen
Laplace-Transformation "praktisch unbrauchbar". -
Während ich mit einem gleichartigen Algorithmus unter MuPAD etwa 4 bis
10 Minuten für eine Transformation mit grafischer Ausgabe bei einem
Fehler kleiner 0.4 % benötige, nimmt Octave sich 5.3 bis 14 Stunden
dafür Zeit.
Das ist nicht akzeptabel. Jede Berechnung kostet zwischen 1 und 2 Euro
Strom für meinen i7 - 8-Kerner mit 64 GiByte RAM :-)
... also unbrauchbar ...
Liegt das an Deiner ekligen Funktion? Wenn ich die Beispiele aus dem
Kommentar zu ModifiedTalbot teste, dann dauert ein Punkt weniger als
eine Zehntelsekunde:

octave-3.0.3:16> stime=time; ModifiedTalbot(@(z)
1./(sqrt(z-1i).*sqrt(z+1i)),2); time-stime
ans = 0.081910


Ist bei Dir vielleicht die Bedingung nicht erfüllt, dass die Pole auf
der negativen Halbachse liegen müssen? Oder geht die Methode davon aus,
dass die Pole ungefähr |z| ~ 1 liegen, und Du mit komischen Einheiten
rechnest, so dass die bei |z| ~ 10^-7 liegen?

Im Übrigen habe ich nicht verstanden, wieso Du bei Deinem MuPAD-Beispiel
die cosh-etc. Funktionen in exp-Funktionen umschreibst. Für die
symbolische Transformation mag das ja etwas bringen, für die numerische
Berechnung kostet es erstmal Rechenzeit und möglicherweise Genauigkeit,
(da muss man sich den Ausdruck ansehen)

Christian
Leo Baumann
2017-11-08 12:20:13 UTC
Permalink
Post by Christian Gollwitzer
Liegt das an Deiner ekligen Funktion? Wenn ich die Beispiele aus dem
Kommentar zu ModifiedTalbot teste, dann dauert ein Punkt weniger als
1./(sqrt(z-1i).*sqrt(z+1i)),2); time-stime
ans =  0.081910
Bei mir kommt sowas heraus beim Testern der Funktion in einem Wert:

stime=time; ModifiedTalbot(@(z) 1./(sqrt(z-1i).*sqrt(z+1i)),2); time-stime
ans = 0.018088

Vielleicht habe ich auch hier im Programm was falsch gemacht?

# sinh() u. cosh() manuell umformen in e-Fkt. - geht auch mit Octave
a=gam*(l-x);b=gam*l;
Tp1=(Z2*(exp(a)+exp(-a))+Z0*(exp(a)-exp(-a)))/((Z1+Z2)*(exp(b)+exp(-b))+(Z0+Z1*Z2/Z0)*(exp(b)-exp(-b)));

#???????????????????????????????????????????????????????????????????????????????

# Erregung Sprungfunktion 1/p
lap=expand(1/p*Tp1);
ux=ModifiedTalbot(@(p) lap, t, 2);
plot(t=td/50:td/50:5*td, @(t) ux (t) '.');
grid on
#print("e:/Leitung0.png", "-dpng");

Wie gesagt, ich habe mit Octave gerade erst angefangen. -

Ich habe ursprünglich in exp-Fkt. umgewandelt, weil ich versucht habe
analytisch zu Lösen.

Grüße Leo
Leo Baumann
2017-11-08 12:50:18 UTC
Permalink
[...]

Hier der Test mit MuPAD und der selben Fkt. u. Parameter.
Man achte auf die Rechenzeit am Ende des PDF-Files.

Verwendet wird der gleiche Algorythmus wie in ModifiedTalbot() in
Octave, nur selber programmiert und 200 Stützstellen, statt 50 in Octave.

www.leobaumann.de/newsgroups/MuPAD_Test.pdf

Grüße - Leo
Leo Baumann
2017-11-08 12:57:05 UTC
Permalink
[...]

Wenn Du Zeit hast diese Woche, dann lass' dieses Script doch 'mal
laufen, Du hast ModifiedTalbot() ja gespeichert.

Keine Ahnung was ich falsch mache.

Script:------------------------------------------------------------------------

#Vorbereitungen
clc;
fflush(stdout);
clear all;
pkg load symbolic;

# Konstanten u. Eingangsparameter
c0=299792458;Z0=50;Z1=50;Z2=100;l=100;x=50;Cs=101.049872e-12;Rs=6.56167979e-3;

# Induktivitätsbelag
Ls=Z0^2*Cs;
disp("Induktivitaetsbelag Ls="); disp(Ls)

# Ableitungsbelag
Gs=Rs*Cs/Ls;
disp("Ableitungsbelag Gs="); disp(Gs)

# Ausbreitungsgeschwindigkeit auf der Leitung
vl=1/sqrt(Ls*Cs);
disp("Ausbreitungsgeschwindigkeit vl="); disp(vl)

# Verhältnis vl/c0
disp("Verhaeltnis zu c0 vl/c0=");disp(vl/c0)

# Laufzeit für x Meter in us (2 Methoden)
td=x/vl;
disp("Laufzeit bis zur Stelle x td=");disp(td)
disp("Laufzeit bis zur Stelle x td=");disp(x*sqrt(Ls*Cs))

# Uebertragungsfunktion der Leitung
Tp:=(Z2*cosh(gam*(l-x))+Z0*sinh(gam*(l-x)))/((Z1+Z2)*cosh(gam*l)+(Z0+Z1*Z2/Z0)*sinh(gam*l))
syms p t;
gam=sqrt((Rs+p*Ls)*(Gs+p*Cs));
# sinh() u. cosh() manuell umformen in e-Fkt. - geht auch mit Octave
a=gam*(l-x);b=gam*l;
Tp1=(Z2*(exp(a)+exp(-a))+Z0*(exp(a)-exp(-a)))/((Z1+Z2)*(exp(b)+exp(-b))+(Z0+Z1*Z2/Z0)*(exp(b)-exp(-b)));

#???????????????????????????????????????????????????????????????????????????????

# Erregung Sprungfunktion 1/p
lap=expand(1/p*Tp1);
t=td/50:td/50:5*td;
ux=ModifiedTalbot(@(p) lap, 2);
plot(t, @(t) ux (t) '.');
grid on
#print("e:/Leitung0.png", "-dpng");

----------------------------------------------------------------------------------------

Danke für Hlfe.
Grüße - Leo
Leo Baumann
2017-11-08 18:53:30 UTC
Permalink
[...]

Nach vielen Versuchen aufgrund meines Unwisses über Octave habe ich das
Probelm jetzt gelöst. -

Jetzt läuft die Berechnung schnell.

www.leobaumann.de/newsgroups/Sprungantwort_reale_Leitung_Octave.pdf

Allerdings habe ich meine eigene, schnelle Talbot-Funktion geschrieben.

Gruß Leo
Leo Baumann
2017-11-09 17:10:00 UTC
Permalink
Post by Leo Baumann
[...]
Nach vielen Versuchen aufgrund meines Unwisses über Octave habe ich das
Probelm jetzt gelöst. -
Jetzt läuft die Berechnung schnell.
www.leobaumann.de/newsgroups/Sprungantwort_reale_Leitung_Octave.pdf
Allerdings habe ich meine eigene, schnelle Talbot-Funktion geschrieben.
Gruß Leo
www.leobaumann.de/talbot.pdf

:)

Leo Baumann
2017-11-07 06:41:10 UTC
Permalink
Post by Christian Gollwitzer
Kann ich nicht nachvollziehen - unter
    http://arxiv.org/e-print/1304.2505v3
bekomme ich eine Datei, die allerdings arxiv-typisch keine Endung hat.
Es handelt sich um ein Tar-Archiv. Das kannst Du mit "tar xvf
1304.2505v3" unter Linux /OSX auspacken, in Windows mit 7-Zip / Winrar
oder ähnlichen Tools. U.U. vorher in "irgendwas.tar" umbenennen. Oder
vielleicht spukt Dein Virenscanner?
    Christian
Aber ist egal, mein MuPAD ist etwa 80 mal schneller als Octave.

Leo
Jens Kallup
2017-11-07 01:46:29 UTC
Permalink
Hallo Herr Leo,

zerpflügen wir mal diese Aufgabe...
Vorab gesagt - ich habe keine Octave oder sonstige Mathesoftwarepakete;
lediglich Pappier, Stift, Rechner ...

Ok.

wie es scheint, handelt es sich hier um 2 Hauptterme mit mehreren
Untertermen.

Beginnen wir mit folgenden:
Was bedeutet eigentlich 10^(-17) ?
Nun,

10^(-17) entspricht eine sehr kleine negative Zahl.

und zwar:
= 0 , 000 000 000 000 000 01

Also 16 Stellen nach dem Komma hinter der 0
Wie kann man sich das vorstellen?
Man verschiebt bei solchen Zahlen das Komma nach der Null nach links,
bis die Stelle der Exponent 16 erreicht wurde.
Der Rest bleibt dann der eigentlichen Zahl, die ausgedrückt werden soll.

Oder einfacher:
Man rotiert bei 10 ner Potenzen einfach die 1 und die 0, so dass dann
aus dem Objekt 10 -> 01 wird.
Nun können wir Sinnbildlich die Null abschneiden und hängen 16 nullen
an. Ist dies getan, wird dann das Komma hinter der ersten 0 gesetzt
und siehe da, wir haben den Wert.

Das mit dem Exponenten sollte dazu dienen, Schreibarbeit und Ressourcen-
verbrauch zu vermeiden.
Aber manchmal ist es nötig, die volle Stellenwertigkeit mit dem dem
Auge gesehen zu haben - für die Freaks unter den Mathematikern.

So ok.
Versuchen wir Werte zusammen zu fassen:

Also wird dann Term 1 - ich nenne ihn mal T1 = 2.552769158 * 10^(-17)
zählen wir mal die Nachkommastellen nach der 2:
Lösung: es sind 9
Nun ziehen wir von 17, 9 ab und erhalten 8 minus 1 restliche digits.
dann sehe als T1 so aus:

T1 = 2,552 769 158 000 000 0

dies ist aber nur ein zwischen Term und entspricht nicht dem realen
Termwert, da wir die nullen angefügt haben und den Minusbereich nicht
verlassen haben.

Wechseln wir also die Stellung - hin zum wahren und richtigen Term1
Lösung:
T1 = 0,000 000 255 276 915 8 ; orignal

aus die Maus, die erste.

Genau wie wir T1 errechnet haben, werden wir nun T2 auf die Linie von
T1 bringen und schauen...
T2 = 1,2631234 * 10^(-11) ; 10 Stellen nach 0, 17 - 7 = 10

T2 = 1,263 123 400 000 000 0 ; Lemma
T2 = 0,000 000 001 263 123 4 ; original

aus die Maus die zweite.

Term3:
Da wir ja wissen, das in der Mathematik gleiche Objekte zusammen
gefasst werden können, schreiben wir einfach mal

T3 = p^2 + p
T3 = p^3 ; oder p * p * p

T3 = TB

wir beachten hierbei das Zeichen * sowie das p-Symbol, was zi einen Term
weggeschrieben wird.

aus die Maus die dritte.


Kommen wir zu T4 = 0,000 001
auch hier setzen wir einen Standard und fügen 10 Nullen an:

T4 = 0,000 001 000 000 000 0 ; Lema
T4 = 0,000 000 000 000 000 1 ; original

aus die Maus die vierte.

Jetzt noch alles summieren, da hier kein minus Zeichen vorkommt, können
wir andere operatoren auschließen:

T1 = 0,000 000 255 276 915 8
+ T2 = 0,000 000 001 263 123 4
+ T4 = 0,000 000 000 000 000 1
--------------------------------
= TS1 = 0,000 000 256 537 039 3 ; TeilsummenTerm 1
================================

aus die Maus die fünfte.

Und der nullen nicht genug, werden zusätzlich 50 angefügt - oh nein
ist nicht so gut erkenntlich - wurzelziehen ist ja erstmal drann:

also:
____
T5 = V TS1
_________________________
T5 = v 0,000 000 256 537 039 3

Der geneigte Leser mag hier erkennen, dass die Rechentakte/Schritte
vom Computer schneller zum Ziel führen, wenn die führenden 7 nullen
Abschneiden, und zurück zur 10 ner Potenz kehren...

T5 = 256 537 039 3 ; 10^(7)
______________
T5 = v 256 537 039 3 ; Lemma 1

T5 = 50 649,485 614 367 ; Lemma 2


sodele nun wirds nen bissl haarig - wegen dem Komma:

T6 = 50649,485614367

betrachten wir die das Paar (Objekt vor, und nach dem Komma -
jeweils einzeln):
Fangen wir von Rechts nach Links an:

Potenz x = 50 - (9 + 5) = 36 - 9 = 27
Das heißt,
wir werden 27 nullen anfügen - was für eine Gaudi :-)

T6 = 50 649,485 614 367 000 000 000 000 000 000 000 000 000

schaut doch garnicht mal so schlecht aus.
fürs erste können wir die nullen nach der 2 auch getrost weggucken,
da sich dan der Wertigkeit nix ändern wird.

Dewegen werde ich das auch machen und den Term 7 berechnen:
Ich gehe davon aus, dass das "e" für die konstante der Eurlerischen
Zahl steht, da keine Legende oder Zeichenvorgabe aus dem Bild
ersichtlich ist.

Da die eulerische Zahl gerundet, 2,7183 beträgt, können wir nun
T7 berechnen:

T7 = e^(T6)
T7 = 2,718 3^(T6)
T7 = 2,718 3^(50 649,485 614 367)

Tja, und nun stehmer vorm Problem:
Der Rechner ist überfordert und Streikt.

Aber Mathematiker sind ja schlaue Wesen.
Und genau diese Gattung hat sich für das Berechnen von Termen
Formeln und Gesetze ausgedacht.
Und diese will ich Euch nicht vorenthalten:

Was haltet ihr von dieser Formel:

1
a^(-b) = ---
a^b

Da staunt der Laie, und der Fachmann wundert sich.
Ist das nicht die Formel wie sie schon in der Zeichnung vorliegt?
Haha, genau.

Für a nehmen wir e = 2,7183
Fur b nehmen wir T6 in abgewandelter Form: -0,506 494 856 143 67

Wie ihr bemerken könnt, ist das hier nur ein hin und hergeschiebe
der Kommas. Ich denke mal Leo hat sich gedacht: "Lass die nur mal
machen!" ?? Nun gut.

Dann erhalten wir:

T7 = 2,718 3^(-0,506 494 856 143 67) ; Lemma
T7 = 0,602 602 055 ; original

T7 = TC

tadaaaaa....
wer sagt denn, das wir ohne einfache Mittel nicht zurecht kommen.

So, dass war der erste Term.
der dritte:

TC = 2 * p
TC = p^2 + T3
TC = p^5

kommen wir zum nächsten Term D

TD = 6 * p
TD = p^6 + TC
TD = p^11

und der nächste Term E

TE = p^2 + p
TE = p^3 + TD
TE = p^14

und der nächste Term - wurzel aus :
______________
T5 = v 256 537 039 3 ; Lemma 1

T5 = 50 649,485 614 367 ; Lemma 2


Der Rest bleibt dann wie ghabt. Ob da das nun in schnörkelschrift
oder mit schleifchen weitere 150 null angezeichnet werden, ist
ohne Bedeutung.

Lösung:

TA1 = 50 649,485 614 367 ; rechter Term
+ TA2 = 50 649,485 614 367 ; linker Term
---------------------------
= 51 298 971 229 034 ; beide Terme addiert/summiert
===========================


P = Elektrische Leistung ?

würde sagen:
linke Leistung P ist mit 5% kleiner als
rechte Leistung P mit 9%

beide haben dann folglich einen Wirkungsgrad von 14%


So, das wars fürs erste Bildchen.

Falls da irgendwas fehlt, unklar ist, oder oder...
der kann ja auch seinen Senf zu den Post geben.

Und wie immer: Auf Eigene Gefahr: Fehler im Detail???

Gruß
Jens
Post by Leo Baumann
Hallo,
im Rahmen einer elektrotechnischen Berechnung sollen folgende beiden
Ausdrücke inverse Laplace-transformiert werden. -
Mir, MuPAD und Octave fällt dazu nichts mehr ein. Sieht übel aus im
Exponenten. -
Gibt es sinnvolle Umwandlungen, dass eine Transformation möglich ist?
Wer hilft? Wer hat eine Idee?
www.leobaumann.de/newsgroups/Laplace0.jpg
www.leobaumann.de/newsgroups/Laplace1.jpg
Danke - Leo
Loading...