Matlab 求解形式为f(x)=K*u(x)的方程的最佳方法

Matlab 求解形式为f(x)=K*u(x)的方程的最佳方法,matlab,Matlab,我正在解一个运动方程,它被描述为 syms u1 u2 f3 f4; K=magic(4); f=[2 3 f3 f4]; u=[u1 u2 9 7]; 其中f和K都包含变量 哪种方法最简单或/和最有效?我想要像这样的东西 solution=solve(f==K*u); 不知道这是否是有效的方法。你的方程还没有标准形式,但可以简化为标准形式 计算 >> syms u1 u2 f3 f4; >> K = magic(4); >> f = [2 3 f3 f4

我正在解一个运动方程,它被描述为

syms u1 u2 f3 f4;
K=magic(4);
f=[2 3 f3 f4];
u=[u1 u2 9 7];
其中f和K都包含变量

哪种方法最简单或/和最有效?我想要像这样的东西

solution=solve(f==K*u);

不知道这是否是有效的方法。

你的方程还没有标准形式,但可以简化为标准形式

计算

>> syms u1 u2 f3 f4;
>> K = magic(4);
>> f = [2 3 f3 f4].';
>> u = [u1 u2 9 7].';

>> K*u - f

ans =
      16*u1  +  2*u2            + 116
       5*u1  + 11*u2            + 143
       9*u1  +  7*u2 - f3       + 138
       4*u1  + 14*u2      - f4  + 142
为了清晰起见,我修改了格式。由此我们可以看出,如果我们定义

b = [-116 -143 -138 -142].';
A  = [16  2   0   0 
       5 11   0   0 
       9  7  -1   0
       4 14   0  -1];
然后我们有一个标准形式的方程

A*X = b
在哪里

X = [u1 u2 f3 f4].'
那么,这是一个简单的问题

>> X = A\b
ans =
   -5.963855421686747e+000    % u1
   -1.028915662650603e+001    % u2
   +1.230120481927711e+001    % f3
   -2.590361445783132e+001    % f4

看一看。不过,您可能需要重新安排您的系统。谢谢。我的问题就是自动得到标准形式的方程式。比如说,创建矩阵A和b..@Caniko:难道不可能将计算
K
u
f
的实现转换为返回
A
b
?似乎比试图从符号中生成if要容易得多……这几乎是不可能的……不幸的是。此选项对我不可用。这就是为什么我要问这个问题:)