see, i have this error in my code saying: ??? Attempted to access x(0); index must be a positive integer or logical. Error in ==> abc at 14 x(i)=mod(g^x(i-1), p); how could index 0 not be a posiitive integer? :
조회 수: 1 (최근 30일)
이전 댓글 표시
% Implementarea algoritmului Blum Micali
% pentru PRNG in Matlab
clear all; close all; clc;
p = input('Introduceti numarul prim p= ');
g = input('Introduceti numarul prim g= ');
Nr=p-1;
x=zeros(1, Nr);
for i=1:Nr
x(i)=mod(g^x(i-1), p);
end;
disp('Rezultatul este: ');
disp(x);
댓글 수: 2
Steven Lord
2015년 7월 16일
By the usual definition of "positive" as it relates to numbers, 0 is not positive since 0 > 0 returns false.
Numeric data used as indices in MATLAB must contain only real positive finite integer values. There is no such thing as x(0) [no zeroth element] when x is a numeric variable. [I'm ignoring logical indexing for purposes of this comment; that's different.]
Walter Roberson
2015년 7월 16일
Duplicated by http://uk.mathworks.com/matlabcentral/answers/230110-see-i-have-this-error-in-my-code-saying-attempted-to-access-x-0-index-must-be-a-positive-int which also has answers
답변 (1개)
Azzi Abdelmalek
2015년 7월 16일
편집: Azzi Abdelmalek
2015년 7월 16일
When i=1, you can't write x(i-1), because i-1=0. Matlab does not accept an index equal to 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!