how to solve this error
2 次查看(过去 30 天)
显示 更早的评论
Array indices must be positive integers or logical values.
clear all
clc
n = [-5:5];
h = [1 0 2 0 3 0 0 0 0 0 0];
y = 3 * h(-n-3);
stem(n,y)
1 个评论
Dyuman Joshi
2023-10-28
The error is clear - Indices in MATLAB can not be negative or non-integeral values.
They must be postivie integers or logical values (as the error states).
You are using (-n-3) as indices which has negative values.
Also, h is mapped for [-5 5], whereas (-n-3) ranges from [-8 2]. What should be the values when n is -8, -7, or -6?
回答(1 个)
Arun
2023-11-1
Hey Brito,
The variable 'h' has index values ranging from 1 to 11. To obtain the desired results, you may consider modifying the code as shown in the following snippet.
n = [-5:5];
h = [1 0 2 0 3 0 0 0 0 0 0];
y = 3 * h(-(-n-3-3)); % or y = 3 * h(n+6);
y
stem(n,y)
Hope this helps.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!