首页 > 解决方案 > 试图在matlab中求解具有未知矩阵的方程

问题描述

我陷入了一个简单的问题。假设我们有两个已知的向量,例如

v1 = (5 , 6 ,7) and v2 =(10,-40,30

我们想找到一个未知矩阵 A 使得

v2 = A*v1

我试过了

A = sym('A', [3 3])
equation = A *v1' - v2 == 0;

Solution = solve(equation)

但是我得到以下结果

Solution = 

 struct with fields:

   A1_1: [0×1 sym]
   A1_2: [0×1 sym]
   A1_3: [0×1 sym]
   A2_1: [0×1 sym]
   A2_2: [0×1 sym]
   A2_3: [0×1 sym]
   A3_1: [0×1 sym]
   A3_2: [0×1 sym]
   A3_3: [0×1 sym]

每个值都是 Empty sym: 0-by-1 我做错了什么?

标签: matlab

解决方案


我还制作了v1v2向量并进行了矩阵除法,但我得到的值A与 ThomasIsCoding 得到的不同。

v1 = [5 , 6 ,7]';
v2 = [10, -40, 30]';
A = v2/v1

A =

         0         0    1.4286
         0         0   -5.7143
         0         0    4.2857

当您检查 A*v1 = v2 时,它确实如此,所以我的解决方案是正确的

>> A*v1

ans =

    10
   -40
    30

我认为这个问题可能有多种解决方案。


推荐阅读