Parse Error when using Syms

2 Ansichten (letzte 30 Tage)
Karo Gaebe
Karo Gaebe am 31 Jan. 2018
Beantwortet: Shreshth am 16 Jan. 2025
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

Antworten (1)

Shreshth
Shreshth am 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

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by