我正在尝试创建一个大小为 121x101 的向量,以便第 i 列由V_t*e
、 、V_t = 1000*10^((i-1)/20)
和e
121 长的列组成。
显然i
是从 1 到 1.01 亿不等,但是我如何将其应用于矩阵而不只在结果中产生最终值(将其应用于每一列而不重复命令)?
我正在尝试创建一个大小为 121x101 的向量,以便第 i 列由V_t*e
、 、V_t = 1000*10^((i-1)/20)
和e
121 长的列组成。
显然i
是从 1 到 1.01 亿不等,但是我如何将其应用于矩阵而不只在结果中产生最终值(将其应用于每一列而不重复命令)?
从你的问题来看,每一行看起来都是一样的。因此,您可以使用REPMAT计算一行
iRow = 1:101;
V_t = 1000*10.^((iRow-1)/20);
V_te = repmat(V_t,121,1);
如果您希望e
在第 1 行中为 1,在第 2 行中为 2,等等,您可以使用NDGRID创建两个与输出大小相同的数组,其中包含输出e
的i
每个元素(i,j)
的值
[ee,ii] = ndgrid(1:121,1:101);
V_te = 1000*10.^((i-1)/20) .* ee;
或者你可以使用BSXFUNe
为i
你做扩展
iRow = 1:101;
V_t = 1000*10.^((iRow-1)/20);
V_te = bsxfun(@times,V_t,(1:121)');