How to assign a symbolic equation to previously defined numeric matrix?

I have a vector that at the first stage it contains numeric values, but later must be assigned by symbolic equations. How is it possible in Matlab?
As a short example:
clear
syms eta__2 zeta__2
Wxy2(1)=1;
Wxy2(1) = legendreP(1, zeta__2)*legendreP(1, eta__2) ;
Unable to perform assignment because value of type 'sym' is not convertible to 'double'.

Caused by:
Error using symengine
Unable to convert expression containing symbolic variables into double array. Apply 'subs' function first to substitute values for variables.

5 Comments

I have a vector that at the first stage it contains numeric values, but later must be assigned by symbolic equations.
I understand if a variable is first symbolic and then is converted to numeric type, but the other way round makes no sense to me.
Maybe you could explain in more detail what your question is about.
clear
syms eta__2 zeta__2
Wxy2=0;
for r=1:3
for i=1:11
for j=1:11
Wxy2(r) =legendreP(i, zeta__2)*legendreP(j, eta__2) + Wxy2(r);
end
end
end
Unable to perform assignment because value of type 'sym' is not convertible to 'double'.

Caused by:
Error using symengine
Unable to convert expression containing symbolic variables into double array. Apply 'subs' function first to substitute values for variables.
Wxy(r) on the right-hand side of
Wxy2(r) =legendreP(i, zeta__2)*legendreP(j, eta__2) + Wxy2(r);
is not defined.
You must initialize it somewhere as a symbolic array and assign symbolic values to its three elements.
clear
syms eta__2 zeta__2
sym('Wxy2')=[0, 0, 0];
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
for r=1:3
for i=1:11
for j=1:11
Wxy2(r) =legendreP(i, zeta__2)*legendreP(j, eta__2) + Wxy2(r);
end
end
end
syms eta__2 zeta__2
Wxy2 = sym('Wxy2',[1 3]);
Wxy2(1:3) = sym('0');
for r=1:3
for i=1:11
for j=1:11
Wxy2(r) =legendreP(i, zeta__2)*legendreP(j, eta__2) + Wxy2(r);
end
end
end
Wxy2
Wxy2 = 

Sign in to comment.

Answers (0)

Products

Release

R2021b

Asked:

on 18 Sep 2022

Edited:

on 18 Sep 2022

Community Treasure Hunt

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

Start Hunting!