www.gusucode.com > 高等数学问题求解源码程序 > CH15/Laplace_Define.m
function varargout=Laplace_Define(varargin) %LAPLACE_DEFINE 根据定义求函数的拉氏变换 % FS=LAPLACE_DEFINE(FT,T,S,'laplace') 求函数FT的laplace变换 % FT=LAPLACE_DEFINE(FS,S,T,'ilaplace') 求函数FS的laplace逆变换 % % 输入参数: % ---FT,FS:给定的时域函数和复域函数 % ---T,S:函数FT和FS的自变量 % ---TYPE:指定laplace变换的类型,有'laplace'和'ilaplace'两种取值 % 输出参数: % ---FS,FT:求得的复域函数和时域函数 % % See also int args=varargin; type=args{end}; switch lower(type) case {1,'laplace'} [fun,t,s]=args{1:end-1}; L=int(fun*exp(-s*t),t); L=-subs(L,t,0); case {2,'ilaplace'} [fun,s,t]=args{1:end-1}; [~,B]=numden(fun); S=sort(solve(B,s)); H=FrequencyTable(S); S=H(:,1); P=H(:,2); L=0; for i=1:length(S) F=(s-S(i))^P(i)*fun*exp(s*t); M=diff(F,s,double(P(i)-1)); L=L+1/gamma(P(i))*limit(M,s,S(i)); end end varargout{1}=L; web -broswer http://www.ilovematlab.cn/forum-221-1.html