In an assignment A(I) = B, the number of elements in B and I must be the same.

1 view (last 30 days)
p=3;
L=1000;
x=rand(1,L);
r=zeros(p,1);
W=ones(p,L);
V=zeros(L,1);
for k=1:L
r=[x(k);r(1:p-1)];
V(k) = W.'*r;
end
error In an assignment A(I) = B, the number of elements in B and I must be the same.
| I want to find the value of V(k) which is the result of transpose W times r but I'm getting the above error. would you please tell me how to fix the code. |

Accepted Answer

per isakson
per isakson on 16 Jul 2014
See
and start with
  1. put the code in a function (functions are easier to debug)
  2. set dbstop if error
  3. run the function
BTW: V(k) is a scalar
  2 Comments
Rock Rocky
Rock Rocky on 16 Jul 2014
would you please tell me why I'm getting this error ? BTW when I change W from W=ones(p,L) to W= ones(p,1) the code run well without any error.
per isakson
per isakson on 16 Jul 2014
Edited: per isakson on 16 Jul 2014
  • What result do you expect from the code?
  • Did you try the three steps I proposed?
  • "run well without any error" . Did you get the expected result?
  • I guess it errors because &nbsp V(k) is a scalar&nbsp whereas &nbsp W.'*r &nbsp is a column vector

Sign in to comment.

More Answers (0)

Categories

Find more on Debugging and Analysis in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!