getting error Subscript indices must either be real positive integers or logicals.

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

Akzeptierte Antwort

Nathaniel
Nathaniel am 19 Jun. 2012
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.

Weitere Antworten (0)

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by