Parse Error when using Syms

조회 수: 4 (최근 30일)
Karo Gaebe
Karo Gaebe 2018년 1월 31일
답변: Shreshth 2025년 1월 16일
Hi everyone, For an assignment I have to solve a system of ODE's given the matrix DE using the Adams-Bashforth method and compare my numerical approximation to the exact one. To find the exact solution, I want to use dsolve, but every I run my code I get the error message 'Unexpected MATLAB expression' and then 'Parse Error at Y_2(t): Usage might be invalid MATLAB syntax'. I am using MATLABR2017.
Does anyone know what the issue is?
function Y_exact = exact_soln(time)
%Actual solution to the system:
A = [-20, 10, 0, 0;...
10, -20, 10, 0;...
0, 10, -20, 10;...
0, 0, 10, -20];
y_0 = ones(4,1);
syms = Y_1(x) Y_2(x) Y_3(x) Y_4(x)
Y = [Y_1; Y_2; Y_3; Y_4];
odes = diff(Y) == A*Y;
[Y_1Sol(x), Y_2Sol(x), Y_3Sol(x), Y_4Sol(x)] = dsolve(odes,y_0);
Y_exact = [double(Y_1Sol(time));...
double(Y_2Sol(time));...
double(Y_3Sol(time));...
double(Y_4Sol(time))];
end

답변 (1개)

Shreshth
Shreshth 2025년 1월 16일
Hi Karo,
Error indicates that the use of syms is incorrect as MATLAB is interpreting the line "syms = Y_1(x) Y_2(x) Y_3(x) Y_4(x)" as a expression. However, I understand you want to declare multiple symbolic variables. Here is an example code on how to declare symbolic variables:
syms Y_1(x) Y_2(x) Y_3(x) Y_4(x)
Refer to the following MathWorks documentation for more information on "syms" function and its various syntax:
Hope it helps

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by