Problem with getting laplace transform results of triangularPulse function
1 view (last 30 days)
Show older comments
I'm trying to transform t_pulse(t) to s domain. The code below is my code for transforming t_pulse(t) to Input_deform(s) and combining RC effect of t_pulse(t) through Vload(s). After getting Vload(s), I perform ilaplace of Vload(s) and get vt as a function of t. The code works but I cannot get valid result of Input_deform(s). If I fplot Input_deform, I get the error message of "Unable to convert expression into double array." As a result, I also cannot get result of Vload(s) and vt(t). Can someone please show me the way to get valid laplace transform result?
syms t s Input_deform(s) t_pulse(t) vt(t)
a1=1;
a2=14.45;
C=490.7*10^-12;
Theta=9.15*10^-10;
Rload=1.0195e+08;
t_pulse(t)=log(1+11*triangularPulse(a1,(a1+a2)/2,a2,t));
Input_deform(s)=laplace(t_pulse);
Vload(s)=(-s*Rload*Theta*Input_deform(s))/(1+s*C*Rload);
vt=-ilaplace(Vload);
figure();fplot(t_pulse); % works
figure();fplot(Input_deform) % Error report: Unable to convert expression into double array.
0 Comments
Answers (2)
Kavya Vuriti
on 23 Mar 2020
Hi,
From the below lines of code provided,
t_pulse(t)=log(1+11*triangularPulse(a1,(a1+a2)/2,a2,t));
Input_deform(s)=laplace(t_pulse);
it is clear that you are trying to compute Laplace transform of log(1+(constant * triangularPulse)). Computing this involves computation of Laplace of logarithm of Heaviside function which is not possible because logarithm of Heaviside function does not exist due to discontinuity of Heaviside function.
So,
Input_deform(s)=laplace(t_pulse);
the above line of code will be an unevaluated call as mentioned here. Therefore it is not possible to plot the desired Laplace transform.
0 Comments
See Also
Categories
Find more on Dynamic System Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!