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 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
% 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 commentaires
Steven Lord
le 16 Juil 2015
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
le 16 Juil 2015
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
Réponses (1)
Azzi Abdelmalek
le 16 Juil 2015
Modifié(e) : Azzi Abdelmalek
le 16 Juil 2015
When i=1, you can't write x(i-1), because i-1=0. Matlab does not accept an index equal to 0
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!