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

16 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Weitere Antworten (1)

James Tursa
James Tursa am 26 Dez. 2020
Bearbeitet: James Tursa am 26 Dez. 2020
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.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by