将下面公式通过matlab求解其中,可以给定Theta的角度为0-2pi之间,每一角度取个值,二维画出图来
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 15:05:27
![将下面公式通过matlab求解其中,可以给定Theta的角度为0-2pi之间,每一角度取个值,二维画出图来](/uploads/image/z/13638838-22-8.jpg?t=%E5%B0%86%E4%B8%8B%E9%9D%A2%E5%85%AC%E5%BC%8F%E9%80%9A%E8%BF%87matlab%E6%B1%82%E8%A7%A3%E5%85%B6%E4%B8%AD%2C%E5%8F%AF%E4%BB%A5%E7%BB%99%E5%AE%9ATheta%E7%9A%84%E8%A7%92%E5%BA%A6%E4%B8%BA0-2pi%E4%B9%8B%E9%97%B4%2C%E6%AF%8F%E4%B8%80%E8%A7%92%E5%BA%A6%E5%8F%96%E4%B8%AA%E5%80%BC%2C%E4%BA%8C%E7%BB%B4%E7%94%BB%E5%87%BA%E5%9B%BE%E6%9D%A5)
将下面公式通过matlab求解其中,可以给定Theta的角度为0-2pi之间,每一角度取个值,二维画出图来
将下面公式通过matlab求解
其中,可以给定Theta的角度为0-2pi之间,每一角度取个值,二维画出图来
将下面公式通过matlab求解其中,可以给定Theta的角度为0-2pi之间,每一角度取个值,二维画出图来
通过fminsearch求出近似
f = @(theta,alpha,beta,phi,gamma)norm([3645.21 1047.64 4113.65 -1047.64]' - ...
[cos(theta) cos(gamma) -sin(alpha) -cos(phi);
sin(theta) -sin(gamma) cos(alpha) -sin(phi);
cos(theta) cos(gamma) -sin(beta) cos(phi);
sin(theta) -sin(gamma) -cos(beta) sin(phi)] * [400 3900 1100 2400]');
xy = [];
x = zeros(4,1);
for theta = 0:.1:2*pi
x = fminsearch(@(x)f(theta,x(1),x(2),x(3),x(4)),x); % 以上一次的解作为这一次初始值
xy = [xy; 400*cos(theta)+3900*cos(x(4)) 400*sin(theta)-3900*sin(x(4))];
end
plot(xy(:,1),xy(:,2),'o-');
结果如示:
PS:下次编程类问题选择类别为编程吧,因为要贴代码