function call returns "index (1.2): subscripts must be either integers 1 to (2^63)-1"

15 次查看(过去 30 天)
I have the following function:
u_1 = @(y) 2(1+y)/(4 + (1+y)^2);
I call it:
u_1(0.2)
I get the following error:
index (1.2): subscripts must be either integers 1 to (2^63)-1 or logicals
error: called from
@<anonymous> at line 1 column 20
Any help would be greatly appriciated. Thank you.

采纳的回答

danielle sisserman
danielle sisserman 2020-12-26
changed
2(1+y)/(4 + (1+y)^2);
to
2*(1+y)/(4 + (1+y)^2);
and it works.

更多回答(1 个)

James Tursa
James Tursa 2020-12-26
编辑:James Tursa 2020-12-26
You are missing a multiply operator. There is no implied multiplication in MATLAB with the 2( combination. E.g.,
u_1 = @(y) 2*(1+y)./(4 + (1+y).^2);
I have also changed your operations slightly to make the function vectorized.

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by