Error using sym>convertChar (line 1537) when solving an ODE using laplace transform. How to fix the problem?
Show older comments
%%CODE
%% Solving 2nd order ODE using laplace transform
clc, clear , close all
syms x t s X F
F = laplace('diff(x(t),t,t)+7*diff(x(t),t)+10*x(t)= 20',s); % solving using laplace transform
F = subs(F,{'x(0)','D(x)(0)'},{5,3}); % initial values
F = subs(F,{'laplace(x(t),t,s)'},{X}); % substituting the initial values then solve Laplace
X = solve(F,'X');
X = ilaplace(X);
X = simplify(X); pretty(X);
disp(X)
%% ERROR BELOW
Error using sym>convertChar (line 1537)
Character vectors and strings in the first argument can only
specify a variable or number. To evaluate character vectors and
strings representing symbolic expressions, use 'str2sym'.
Error in sym>tomupad (line 1253)
S = convertChar(x);
Error in sym (line 220)
S.s = tomupad(x);
Error in transform (line 22)
if ~isa(f, 'sym'), f = sym(f); end
Error in sym/laplace (line 28)
L = transform('symobj::laplace', 't', 's', 'z', F, varargin{:});
Error in HW_1_3_2_4070H300 (line 4)
F = laplace('diff(x(t),t,t)+7*diff(x(t),t)+10*x(t)= 20',s); %
solving using laplace transform
2 Comments
Naveed Naqvi
on 15 May 2021
Having the same exact problem unfortunately :/
Walter Roberson
on 15 May 2021
Since R2017b (I think it is) you cannot pass character vectors to laplace() . You need to construct the symbolic equation and pass that instead.
Accepted Answer
More Answers (1)
Walter Roberson
on 15 May 2021
Edited: Walter Roberson
on 15 May 2021
%%CODE
%% Solving 2nd order ODE using laplace transform
syms x(t) s X F
Dx = diff(x,t);
D2x = diff(Dx,t);
eqn = D2x + 7*Dx + 10*x(t) == 20
F = laplace(eqn,s) % solving using laplace transform
F = subs(F,{x(0), Dx(0)},{5,3}) % initial values
F = subs(F, {laplace(x(t),t,s)},{X}) % substituting the initial values then solve Laplace
X = solve(F, X)
X = ilaplace(X)
Categories
Find more on Symbolic Math Toolbox 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!