我有一个通过等式
创建的矩阵for xxx = 1 : xMid_p - 2
ln_p(1,xxx) = abs(radius_p(1,1) - radius_p(xxx+1));
end
但是我需要这个等式作为其第一个元素为零。我知道我可以通过
来做到这一点ln_p(1,1) = 0;
但是我如何将它组合起来,因为第一个元素为零,而行矩阵的其余部分取自上面的等式。
解决方案:
这很简单,涉及将简单的1x1矩阵与ln_p矩阵连接起来。
lnZero(1,1) = 0
for xxx = 1 : xMid_p - 2
ln_p(1,xxx) = abs(radius_p(1,1) - radius_p(xxx+1));
end
ln_p = horzcat(lnZero,ln_p)
答案 0 :(得分:1)
肮脏的把戏可能;在循环中使用它 -
ln_p(1,xxx) = (xxx~=1).*(abs(radius_p(1,1) - radius_p(xxx+1)));
答案 1 :(得分:0)
只需使用矢量化索引和简单的水平连接:
ln_p(1, 1:xMid_p-1) = [0 abs(radius_p(1)-radius_p(2:xMid_p-1))];
如果您的ln_p
在循环前为空且radius_p
的元素长度恰好为xMid_p-1
,则可以将其简化为:
ln_p = [0 abs(radius_p-radius_p(1))];