【问题标题】:For loop inverse a matrixFor循环逆矩阵
【发布时间】:2016-08-21 02:24:43
【问题描述】:

我正在尝试在 matlab 中对矩阵求逆,但是我很挣扎。

它本质上是一个 3x3 矩阵,但是矩阵的每个位置都有 801 个点。

我假设我需要以某种方式使用 for 循环来得到一个反向的 3x3 矩阵,每个矩阵包含 801 个点。

inv(A11(1) A12(1) A13(1);A21(1) A22(1) A23(1);A31(1) A32(1) A33(1))

例如,这个逆将给我矩阵的 801 个点中的第一个

【问题讨论】:

  • 所以A11 等是具有 801 个值的向量,而您正在组装 801 个 3×3 矩阵进行反演?

标签: matlab matrix inverse


【解决方案1】:

试试这个:

m = cell(801,1);
for i=1:801
  m{i} = inv([A11(i),A12(i),A13(i); A21(i),A22(i),A23(i); A31(i),A32(i),A33(i)]);
end

现在m 是一个元胞数组,您可以使用m{i} 访问i-th 结果。

【讨论】:

    【解决方案2】:

    我认为您不是在寻找矩阵的逆矩阵,因为它是数学上的东西,但您正在尝试翻转它的顺序。如果你想翻转 3x3 矩阵试试

    A=fliplr(A) %for left-right flip
    A=flipud(A) %for up down flip
    

    如果您希望矩阵 A 保持不变,请尝试反转每个包含的向量尝试

    cellfun(@(x) flipud(x),A,'Uniformoutput',false) %for up down flip in every cell
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-29
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      相关资源
      最近更新 更多