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

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

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

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.
  • 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 Loops and Conditional Statements in Help Center and File Exchange

Products

Tags

Asked:

on 16 Jul 2014

Edited:

on 16 Jul 2014

Community Treasure Hunt

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

Start Hunting!