[心得] 不同的一维列相加

楼主: Lionel (祝福与成全)   2015-03-23 17:36:33
大家晚安
A=[1 2 3 4 5 6 7 8 9 10];
B=[1 0 1 0 0];
想得到
D=[2 2 4 4 5 6 7 8 9 10];
^^^^^^^^^^ ^^^^^^^^^^
A,B相加 维持A的值
也就是说 前面相加 后面不动
my code
A=[1:10];
B=[1 0 1 0 0];
sizeB=size(B,2);
D=A;
C=[1:sizeB];
E=C+B;
for i=1:sizeB
D(1,i)=E(1,i);
end
想问问看 有没有不用写for的方法 感谢
作者: physbook (路克)   2015-03-23 17:56:00
用zeros在B后面补0再相加B=[B,zeros(1,size(A,2)-size(B,2))];
楼主: Lionel (祝福与成全)   2015-03-23 18:05:00
XDD
作者: profyang (prof)   2015-03-23 18:26:00
D=A; D(1:length(B))=A(1:length(B))+B;
作者: atmosphere (铁支)   2015-03-24 01:32:00
D = [A(1:length(B))+B A(length(B)+1:end)]
作者: ja20331 (没有)   2015-04-02 01:07:00
B(length(A))=0; D=A+B;

Links booklink

Contact Us: admin [ a t ] ucptt.com