Substituting a syms variable with another syms variable equation

1 view (last 30 days)
Error code:
??? Subscript indices must either be real positive integers or logicals.
Error in ==> EigenValuesVectors4x4ToTensorFactor at 10
f=sym(zeros(4,4,4))
Code:
syms T11 T12 T13 T14 T21 T22 T23 T24 T31 T32 T33 T34 T41 T42 T43 T44
f=sym(zeros(4,4,4))
%MatLab does not like the substitution of a syms variable with another syms variable equation. Is there any way around this?
%h(i,k) is a 4x4 matrix with syms formula in each cell
ta13=solve(h(1,3),'T14')
ta14=solve(h(1,4),'T14')
tb11=subs(h(1,1),'T14',ta14)
tb12=subs(h(1,2),'T14',ta14)
  1 Comment
Walter Roberson
Walter Roberson on 29 Jun 2013
Is it possible that you had code before that which creates a variable with the name "sym" ?
which sym

Sign in to comment.

Answers (2)

Philosophaie
Philosophaie on 29 Jun 2013
No the "sym" in "f=sym(zeros(4,4,4))" creates "f" as a symbolic zero matrix.
  1 Comment
Walter Roberson
Walter Roberson on 29 Jun 2013
It cannot both create "f" as a symbolic matrix and complain about a subscript.
Your posted error message refers to line 10, but the "f=" line it is complaining about is at most line 3. What is before that in the code ?

Sign in to comment.


Walter Roberson
Walter Roberson on 30 Jun 2013
Please post the result of
which sym
class(sym) %might generate error message
Also, what does
sym('abc')
return?

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!