Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab~线性方程?_Matlab_Equation - Fatal编程技术网

Matlab~线性方程?

Matlab~线性方程?,matlab,equation,Matlab,Equation,有人知道如何在MATLAB中求解这个方程吗 F_I*cosd(alpha_I) - F_C(cosd(alpha_C)) = 0 F_I*sind(alpha_I) - F_T_1 + F_C*sind(alpha_C) = 0 F_T_1*abs(x_F_C-x_T_1) - F_I*sind(alpha_I)*abs(x_F_C-x_F_I) - F_I*cosd(alpha_I)*abs(y_F_C-y_F_I) = 0 我知道: 阿尔法| F | T | 1 | x | F

有人知道如何在MATLAB中求解这个方程吗

F_I*cosd(alpha_I) - F_C(cosd(alpha_C)) = 0  
F_I*sind(alpha_I) - F_T_1 + F_C*sind(alpha_C) = 0  
F_T_1*abs(x_F_C-x_T_1) - F_I*sind(alpha_I)*abs(x_F_C-x_F_I) - F_I*cosd(alpha_I)*abs(y_F_C-y_F_I) = 0  
我知道:

阿尔法| F | T | 1 | x | F | C | x | T | 1 | x | F | I | y | F |I

我不知道(并且想知道):

F|I | F|C | alpha|C


问题在于F_C*cosd(alpha_C),这是两个变量,所以我不知道在A中的Ax=B矩阵中写什么。

第三个方程只包含一个未知值,即
F_I
。因此,您可以显式地解决该问题,只剩下两个方程和两个未知数:

F_I= (F_T_1*abs(x_F_C-x_T_1)/(sind(alpha_I)*abs(x_F_C-x_F_I)+cosd(alpha_I)*abs(y_F_C-y_F_I))
现在你的前两个方程基本上是

a*sind(b)=c
a*cosd(b)=d
a,b未知。将它们分开以获得

tand(b) = c/d

这就得到了b(alpha_C),而现在求解a(F_C)是很简单的。

这不是一个线性方程,因为它包含未知的
cosd
。考虑使用非线性求解器(优化)程序,如<代码> LQNONLIN < /代码>。你有优化工具箱吗?用未知数
x(1:3)
和尽可能简化的已知数
k(1:n)
来编写你的方程会很有帮助(因此
abs(x_F_C-x_F_I)
变成,比如说,
k(5)
。然后使用解算器编写最小化的目标函数会容易得多。在您的第一个等式中,您是指
F_C(cosd(alpha_C))
还是
F_C*cosd(alpha_C)
当然对不起F_C*cosd(alpha_C).我对优化工具箱不是很确定,但我使用的是最新的matlab。我只想解包含三个变量的三方程组。这不会太难吧?对于abs(x_F_C-x_F_I)“我可以写‘476’等等。这是一个从一个点到另一个点的长度。我正在尝试解决这个问题:我刚刚想到,如果我把F_Csind(alpha_C)=AA和F_Ccosd(alpha_C)=BB命名为F_I,AA,AB,并尝试用变量F_I,AA,AB进行求解,然后我会尝试在AA,AB中求解alpha_C和F_C,怎么样?非常感谢!”:-)我完全忘记了测角函数和用它求解的能力。谢谢:-)