Parse Error when using Syms

4 vues (au cours des 30 derniers jours)
Karo Gaebe
Karo Gaebe le 31 Jan 2018
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

Réponses (1)

Shreshth
Shreshth le 16 Jan 2025
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

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by