Matlab求方程的未知数?
h=29.8149;b=68.4982*0.5;x=123.5;hr=h/b;xr=x/b;A=1/((hr^2+xr^2)^0.5);B=hr/sqrt(1+xr^2)...
h=29.8149; b= 68.4982*0.5; x=123.5; hr=h/b; xr=x/b; A=1/((hr^2+xr^2)^0.5); B=hr/sqrt(1+xr^2); S1=(1/pi)*(atan(1/xr)-A*xr*atan(A)); S2=(1/pi)*(xr*A*atan(A)+(B/hr)*atan(B)); S=((S1)^2+(S2)^2)^0.5 输出是S=0.1010。现在我想输入S=0.1010来求x的值,想得到123.5,该怎么求啊?抱歉我没财富值了
展开
1个回答
展开全部
输入下面4行命令即可。
>> h=29.8149; b=68.4982*0.5;
>> syms x
>> 123.5; hr=h/b; xr=x/b; A=1/((hr^2+xr^2)^0.5); B=hr/sqrt(1+xr^2); S1=(1/pi)*(atan(1/xr)-A*xr*atan(A)); S2=(1/pi)*(xr*A*atan(A)+(B/hr)*atan(B)); S=((S1)^2+(S2)^2)^0.5
>> fsolve(@(t) (subs(S,x,t)-.1010251),0)
利用的是matlab的非线性方程求解函数。
>> h=29.8149; b=68.4982*0.5;
>> syms x
>> 123.5; hr=h/b; xr=x/b; A=1/((hr^2+xr^2)^0.5); B=hr/sqrt(1+xr^2); S1=(1/pi)*(atan(1/xr)-A*xr*atan(A)); S2=(1/pi)*(xr*A*atan(A)+(B/hr)*atan(B)); S=((S1)^2+(S2)^2)^0.5
>> fsolve(@(t) (subs(S,x,t)-.1010251),0)
利用的是matlab的非线性方程求解函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询