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

26 ビュー (過去 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 Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by