我正在尝试编写一个Matlab程序,该程序接受来自用户的系统变量,但存在比系统参数更多的变量。具体而言,六个变量在三个方程:在超参数化系统中求解变量
w - d - M = 0
l - d - T = 0
N - T + M = 0
这可以用矩阵形式表示为A*x=0
其中
A = [1 0 0 -1 0 -1;
0 1 0 -1 -1 0;
0 0 1 0 -1 1];
x = [w l N d T M]';
我希望能够解决这个系统给出的已知子集变量。例如,如果用户给出d
,T
,M
,那么对于其他三个变量,系统可以得到平凡解决。如果用户提供w
,N
,M
,则它变成可解的3-DOF系统。等等。 (如果用户过度或不足指定系统然后错误当然可以结果。的)
鉴于这些组合起来很简单的任何一个(先验)使用矩阵代数来计算未知量。但我不知道如何解决一般情况,除了使用符号工具箱(为了兼容性原因,我不想这么做)。
当我开始使用这种方法时,我认为这一步很简单,但我的线性代数是生锈的;我错过了一些简单的东西吗
这看起来很有前途,谢谢! – 2009-11-25 12:12:43
事实上,它就像一个魅力:)看到解决方案之后,我应该能够为自己想象......对我来说,太长的一个晚上,我想! – 2009-11-25 12:30:56