Matlab用牛顿迭代法求角度的代码.现已知R=150γ=b/Rb=60δ=20求θ值.我之前是用solve函数求解的,可是发现获得的θ值是带虚数的,而且只有一个解.代码如下:R=150b=60r=R/ba=20syms thetatheta1=solve(R*sqrt(2-2*co
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 02:32:18
Matlab用牛顿迭代法求角度的代码.现已知R=150γ=b/Rb=60δ=20求θ值.我之前是用solve函数求解的,可是发现获得的θ值是带虚数的,而且只有一个解.代码如下:R=150b=60r=R/ba=20syms thetatheta1=solve(R*sqrt(2-2*co
Matlab用牛顿迭代法求角度的代码.
现已知
R=150
γ=b/R
b=60
δ=20
求θ值.
我之前是用solve函数求解的,可是发现获得的θ值是带虚数的,而且只有一个解.
代码如下:
R=150
b=60
r=R/b
a=20
syms theta
theta1=solve(R*sqrt(2-2*cos(theta)+theta^2-(cos(theta-r)-cos(r)-cos(theta)+theta*r+1)^2/(2-2*cos(r)+r^2))==a)
我需要的角度值是要正数,且不带虚数的.求Matlab牛顿迭代法的代码.谢谢大神.
下面是可供验算的数值.
R=56
γ=b/R
b=73
δ=7.97
θ=16.87度
上面我的代码有个地方输错了.
应该是
R=150
b=60
r=b/R
a=20
Matlab用牛顿迭代法求角度的代码.现已知R=150γ=b/Rb=60δ=20求θ值.我之前是用solve函数求解的,可是发现获得的θ值是带虚数的,而且只有一个解.代码如下:R=150b=60r=R/ba=20syms thetatheta1=solve(R*sqrt(2-2*co
-20.5558285905308换成弧度是-0.358766883260444
选不同初值得到另外一个结果
0.758766883260445换成弧度 43.474140786708
两边同时平方相减得到fx
然后求导得到dfx
利用x = x - fx/dfx;进行迭代