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