How do I fix this error?
显示 更早的评论
%$Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 0-by-1.
%$Error in machine_problem (line 39)
%$ p_new(j,1) = w*a + z*b; "
%code
states = [0; 3; 3; 5; 6; 8; 8; 11];
fors = [0.02;0.02;0.02];
capacities =[3;3;5];
p_old = 0;
for i=1:length(capacities)
fprintf('Adding unit: %d \n',i);
p_new = 0;
for j = 1:(2^i)
if states(j,1) == 0
[a]= 1;
elseif j >= (2^i)
[a] =0;
end
if (states(j,1) - capacities(i,1)) <= 0
[b] = 1 ;
else
x = find(states == (states(j,1)-capacities(i,1)));
[b] = p_old(x,1);
end
[w] = 1 - fors(i,1)
[z] = fors(i,1)
p_new(j,1) = w*a + z*b;
end
p_old = p_new;
disp(p_new);
end
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with Phased Array System Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!