以下是我所做的:
w = zeros(1,28);
e = zeros(1,63) + 1;
r = zeros(1,90) + 2;
t = zeros(1,100) + 3;
y = zeros(1,90) + 4;
u = zeros(1,63) + 5;
i = zeros(1,28) + 6;
qa = horzcat(w,e,r,t,y,u,i);
hist(qa,25,0.5)
h = findobj(gca,'Type','patch');
set(h,'FaceColor',[.955 0 0],'EdgeColor','w');
我想达到这个效果,但用一种更简洁的方式。这是我的尝试:
v= zeros(1,28);
for i=2:8
v(i) = horzcat(v(i-1) + (i-1));
end
我收到的错误是“将单元格内容分配给非单元格数组对象”
另外,如果不是太多的问题,有人知道python的等价物是什么吗?
最佳答案
您也可以在不使用for
循环的情况下实现这一点,尽管这有点不太起眼。但是嘿,它没有圈!此外,它还允许您自由选择不同的值集。
v=[0;1;2;3;4;5;6]; %values
r=[28 63 90 100 90 63 28]; %number of repeats
qa=zeros(sum(r),1);
qa(cumsum([1 r(1:end-1)]))=1;
qa=v(cumsum(qa));