getting error Subscript indices must either be real positive integers or logicals.
2 次查看(过去 30 天)
显示 更早的评论
Dear all
i write a code when i run this i got error "Subscript indices must either be real positive integers or logicals." code is as follows
function z=aa(p,a,q)
t=0;
z=((p(t)-1200+150)*(-d)*(0.45+0.75*log10(abs(a(t)))+0.1*2)*(100-2)*exp(-.004*p(t))*exp(.4*q(t))...
+(0.45+0.75*log10(abs(a(t)))+0.1*2)*(100-2)*exp(-.004*p(t))*exp(.4*q(t)))^(2);
any one please tell me the solution
Thank you
0 个评论
采纳的回答
Nathaniel
2012-6-19
I'm assuming that you are intending p to operate as a function, but maybe you are not passing in a function handle?
Matlab appears to be interpreting it as a matrix, and so p(t) evaluates to p(0), i.e., the 0th element of p, rather than "p of 0" which is what I suspect you want. Since Matlab indices are 1-based, p(0) throws the "...real positive integers or logicals" error.
更多回答(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!