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

1 次查看(过去 30 天)
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. |

采纳的回答

per isakson
per isakson 2014-7-16
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 个评论
Rock Rocky
Rock Rocky 2014-7-16
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 2014-7-16
编辑:per isakson 2014-7-16
  • 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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Debugging and Analysis 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by