How can I fix the "Subscript indices must either be real positive integers or logicals." I am getting the errors my j(k) and l(k). my program works when I change the range but i only get ending term, any point in the right direction would be helpfu
1 次查看(过去 30 天)
显示 更早的评论
z(1) = 1.5;
for k = 1:6
fprintf('%d %5.8f %5.8f %5.8f\n',n , z(k), e(k), p(k));
z(k+1) = (.5)*z(k) + sqrt(2)/2*z(k);
x(k) = z(k+1);
e(k) = z(k+1) - sqrt(2);
j(k)= log((e(k))/log(e(k-1)));
l(k)= log(e(k-1))/log(e(k-2));
p(k) = j(k)/l(k);
end
采纳的回答
Robert U
2017-9-27
编辑:Robert U
2017-9-27
Hi Janvier Solaris,
the main problem despite of posting non-executable code is the reference to e(k-2) for l(k) calculation. Since indices have to a positive integers or logicals it will not work for k <= 2. That code snippet does:
z(1) = 1.5;
for k = 1:6
z(k+1) = (.5)*z(k) + sqrt(2)/2*z(k);
x(k) = z(k+1);
e(k) = z(k+1) - sqrt(2);
if k > 2
j(k)= log((e(k))/log(e(k-1)));
l(k)= log(e(k-1))/log(e(k-2));
p(k) = j(k)/l(k);
fprintf('%d %5.8f %5.8f %5.8f\n',k , z(k), e(k), p(k));
end
end
Kind regards,
Robert
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!