Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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_Differentiation - Fatal编程技术网

matlab非线性方程组

matlab非线性方程组,matlab,equation,differentiation,Matlab,Equation,Differentiation,我的代码是: function F=root4d(x) W1 = 0.928*(6-0.928)/tan(x(3))*20; W2 = (6-0.928)*((6-0.928)/(tan(x(3))))/2*20; F(1)= x(4)*cos(10*pi/180)+x(1)*cos(x(3))-x(2)*sin(x(3)); F(2)= x(4)*sin(10*pi/180)+x(1)*sin(x(3))+x(2)*cos(x(3))-10*(6-0.928)/tan(x(3))-W1-W2

我的代码是:

function F=root4d(x)

W1 = 0.928*(6-0.928)/tan(x(3))*20;
W2 = (6-0.928)*((6-0.928)/(tan(x(3))))/2*20;
F(1)= x(4)*cos(10*pi/180)+x(1)*cos(x(3))-x(2)*sin(x(3));
F(2)= x(4)*sin(10*pi/180)+x(1)*sin(x(3))+x(2)*cos(x(3))-10*(6-0.928)/tan(x(3))-W1-W2;
F(3)= x(1)-x(2)*tan(20*pi/180)-10*(6-0.928)/sin(x(3));
F(4)= diff(x(4),x(3));
而且:

fun = @root4d;
x0 =[0,0,0,0];
x=fsolve(fun,x0)
但它不起作用。 我得到:


我能做些什么来解我的非线性方程组呢?

嗯,还没有测试过,但它应该不是
fun=@(x)root4d(x)
?嘿,谢谢。我对它进行了测试,我一直遇到同样的问题。如果你做
root4d([0,0,0,0])
(即
root4d(x0)
F(4)=diff(x(4),x(3))这就是问题所在。你这是什么意思?第二个输入是
diff
的“顺序”,但这个数字当然不能是随机的。在本例中,您尝试将
0
作为第一个值。
Error in solver (line 3)
x=fsolve(fun,x0)

Caused by:
    Failure in initial objective function evaluation. FSOLVE cannot continue.