PDA

View Full Version : [Matlab] Conversione ciclo for scritto in C in codice MATLAB


InferNOS
02-04-2015, 14:20
y1_stim=zeros(length(y), 1);
for i = 1:length(y)
X1 = zeros(length(y) - 1, 2);
y1 = zeros(length(y) - 1, 1);
for r = 1:length(X1)
if r < i
X1(r, 1) = X(r, 1);
X1(r, 2) = X(r, 2);
y1(r, 1) = y(r, 1);
else
X1(r, 1) = X(r+1, 1);
X1(r, 2) = X(r+1, 2);
y1(r, 1) = y(r+1, 1);
end
end

mdl = fitnlm(X1,y1,modelfun,beta0);
b = mdl.Coefficients.Estimate;
y1_stim(i, 1) = b(1) + b(2)*X(i, 1);
end

Ciao ragazzi, dovendo replicare un certo algoritmo, ho scritto questo codice in MATLAB che funziona, solamente che nel secondo ciclo for l'assegnazione delle varie componenti della matrice X1 l'ho scritto in C perchè non sono in grado in matlab (non lo conosco) [r sta proprio per riga]. Sapete come si assegnano le componenti di una matrice in matlab e quindi come si può "convertire" questo pezzo di codice nel liguaggio di matlab?
Thx :)

InferNOS
03-04-2015, 14:21
Ottimo, grazie ;)