How to take laplace transform of square(t) function

I am currently on part b. I believe the problem is asking me to generate the square wave, which I do through square(t) from 0 to 30. But when I take the laplace transform I get an error.
syms s j Y;
f=square(j);
F=laplace(f,j,s)
-----------------------------------
Input arguments must be 'double'.
I can generate the wave but then I can't use the laplace transform. I've tried generating the square wave by using sin(t)/abs(sin(t)) but I don't know how to use the output of that function either.
Using this video and this pdf I believe the laplace transform is (exp(-s*pi) - 1)/(s*(exp(-s*pi) + 1) but I cannot replicate this in matlab.
What is the best way to generate this wave and obtain its laplace transform, should I just try to do the steps the same as in the video and ignore the laplace function or am I missing something?

댓글 수: 1

RahulTandon
RahulTandon 2015년 7월 7일
편집: Image Analyst 2015년 7월 15일

do you mind asimulink solution to the problem?

댓글을 달려면 로그인하십시오.

답변 (1개)

Philip Caplan
Philip Caplan 2015년 4월 15일
편집: Philip Caplan 2015년 4월 15일
Since this is a homework problem, I'll only give some hints. The reason you are getting the error message "Input arguments must be 'double'" is because "square" is not defined for symbolic inputs. However, from your homework question, note that "h(t) is defined on [0,10*pi]" which can be described by:
syms t
n = 10;
h = heaviside(t);
for i=1:n
h = h +2*((-1)^i)*heaviside(t -i*pi);
end
You can then call "laplace(h)" but note this is only a part of the full square wave, defined on [0,10*pi]. Hope this helps.

댓글 수: 1

If i want n equals to infinity, what changes should i make? The function gives an error

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

2015년 4월 13일

댓글:

2016년 9월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by