使用 for 循环在 Octave/Matlab 中生成向量

Using for-loop to generate vectors in Octave/Matlab

我正在编写用于生成 n 阶向量和希尔伯特矩阵的脚本,其中向量 x0 应根据矩阵的大小更改其大小。但是有一条错误消息说 'operator *: nonconformant arguments (op1 is 2x2, op2 is 12x1)' 我可以知道为什么矩阵的大小无法成功更改,而我的向量工作正常吗?

for k=2:12

  H = hilb(k);
  x0(1:k)=1;
  b = H * x0'; %generate the n-vector b=Hx0
  x_approx = GE(H,b);
end

向量和行有问题

x0(1:k)=1;

k = 2 不会改变向量的大小。相反,它将 x0 的第一个 k 元素设置为 1。我假设 x0 已经在别处设置为 12 维向量。

你可以试试

x0 = ones(1,k);

相反。