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? :

5 Ansichten (letzte 30 Tage)
% 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 Kommentare
Steven Lord
Steven Lord am 16 Jul. 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.]

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 16 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 16 Jul. 2015
When i=1, you can't write x(i-1), because i-1=0. Matlab does not accept an index equal to 0

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by