# Invalid indexing or function definition

12 views (last 30 days)
César Solla González on 1 Jul 2020
Commented: madhan ravi on 1 Jul 2020
Hey guys, I've coded this very simple example of my problem:
syms z(x,i) x i
for i=1:3
h(i) = i+1;
z(x,i) = h(i) + 5;
end
Don't know why, but when running it I get this error:
Error using sym/subsasgn (line 959)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and
function body must be sym expression.
Error in prueba (line 6)
z(x,i) = h(i) + 5;
I've read in this forum and tried different solutions like adding "sym(h(i)", instead of just "h(i)". But it hasn't worked :/ Would appreciate some help. Thank you very much

madhan ravi on 1 Jul 2020
``` syms h [1, 5]
z = h + 5```

César Solla González on 1 Jul 2020
I mean, z should be a function of x too, also I need to place values in it inside a for, that's why my example was:
syms z(x,i) x i
for i=1:3
h(i) = i+1;
z(x,i) = h(i) + 5;
end
h is different for each i, and so it is z(x). However, I am still getting this error
madhan ravi on 1 Jul 2020
Just show how the expected result should look like.