Subscript indices must either be real positive integers or logicals. Error in erlang3 (line 4) erlang = lambda*exp(-1*lambda*xk)*(lambda*xk)^2/2;
4 次查看(过去 30 天)
显示 更早的评论
clc;
clear scr;
xk = rand(10000);
erlang = lambda*exp(-1*lambda*xk)*(lambda*xk)^2/2;
y = histogram(erlang,'Normalization','pdf');
subplot(2,1,1);
plot(xk,y);
% xlabel('X');
% ylabel ('Y');
title ('Erlang-3 Distribution');
0 个评论
回答(3 个)
Robert
2016-3-28
Is there any chance you defined a variable exp before executing this code? My best guess (given the limited information provided) is that MATLAB is interpreting (-1*lambda*xk) as an indexing operation into the variable exp, which could happen if exp is not pointing to the function as you expect but is instead pointing to a variable.
2 个评论
Robert
2016-3-29
Exactly; however, there is nothing stopping you from replacing exp for example
clear
exp(1)
exp(2)
exp = 42
exp(1)
exp(2)
As Walter suggested, you can use the command which to ask MATLAB from where it is getting exp
clear
which exp
exp = 42
which exp
Star Strider
2016-3-28
The most likely possibility is that somewhere in your code you have a variable called ‘exp’. The solution is to find it and name it something else.
0 个评论
Walter Roberson
2016-3-28
At the command prompt command
dbstop if error
and run the code. When (if) it stops with the error, please report the results of
which exp
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!