Simple Matrix operation using for loop

1 次查看(过去 30 天)
Hello all, I want to do following matrix operation, I have two matrices y and errorsample as: y=y=[0.53, 0.6, 0.58, 0.68, 0.85, 0.85];1X6 matrix errorsample=normrnd(0,stdev,1,1e4);1X1e4 matrix
Now I want to create new matrix Y (1e4X6) such that Y(i)(j)=y(j)-errorsample(i)
For that I have written following code: y=[0.53, 0.6, 0.58, 0.68, 0.85, 0.85]; stdev=0.0523; errorsample=normrnd(0,stdev,1,1e4); for i=1:1:1e4; for j=1:1:6; Y(i)(j)=y(j)-errorsample(i); end end
but after running this, I am getting following error: ??? Error: File: Q4.m Line: 23 Column: 5 ()-indexing must appear last in an index expression.
Can anybody please tell me how to debug this problem, It's urgent Thanks in advance,
Nikhil

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-10-3
编辑:Azzi Abdelmalek 2013-10-3
Maybe you want
y=[0.53, 0.6, 0.58, 0.68, 0.85, 0.85];
stdev=0.0523;
errorsample=normrnd(0,stdev,1,1e4);
out=zeros(1e4,6);
for i=1:1:1e4;
for j=1:1:6;
out(i,j)=y(j)-errorsample(i);
end
end
disp(out)
  2 个评论
Nikhil
Nikhil 2013-10-3
编辑:Azzi Abdelmalek 2013-10-3
Hey, Thanks a lot for your quick reply. My next stage is I want to perform regression analysis on each row matrix Y. And I want to store the answers of each regression analysis on matrix form. generally output of regress command is two vectors my code for this is as follows:
x=[0,0.2, 0.4, 0.6, 0.8, 1.0];
errorsample=normrnd(0,stdev,1,1e4);
for i=1:1:1e4;
for j=1:1:6;
Y(i,j)=y(j)-errorsample(i);
end
end
xx=[ones(6,1),x'];
for i=1:1:1e4;
b=regress(Y(i,:)',xx);
Z(i)=(b);
end
The error which I am getting is as follows: ??? In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in ==> Q4 at 29 Z(i)=(b);
kindly help me to debug this, Thanks in advance,
Nikhil
Azzi Abdelmalek
Azzi Abdelmalek 2013-10-3
y=[0.53, 0.6, 0.58, 0.68, 0.85, 0.85];
stdev=0.0523;
errorsample=normrnd(0,stdev,1,1e4);
Y=zeros(1e4,6);
for i=1:1:1e4;
for j=1:1:6;
Y(i,j)=y(j)-errorsample(i);
end
end
x=[0,0.2, 0.4, 0.6, 0.8, 1.0];
xx= [ones(6,1),x'];
Z=zeros(1e4,2);
for i=1:1:1e4;
b=regress(Y(i,:)',xx);
Z(i,:)=b';
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by