Invalid indexing or function definition

14 次查看(过去 30 天)
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

回答(1 个)

madhan ravi
madhan ravi 2020-7-1
 syms h [1, 5]
 z = h + 5
  2 个评论
El Vapor
El Vapor 2020-7-1
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
madhan ravi 2020-7-1
Just show how the expected result should look like.

请先登录,再进行评论。

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by