
如图所示,自己做了一整天,反正乱七八糟的结果都出来过。
输入的p1和p2是两组列向量。
求哥们解答

% 输入值
P1 = [0.5 1 0.5 0 0.5 1 0.5 0 0.5]; % 棕色虚折线的y值
P2 = [0 0.5 1 0.5 0 0.5 1 0.5 0]; % 蓝色折线的y值
angle = [-360 -270 -180 -90 0 90 180 270 360]; % x值
% 创建插值函数
P1_func = @(x) interp1(angle, P1, x, 'spline');
P2_func = @(x) interp1(angle, P2, x, 'spline');
% 计算角度
compute_angle = @(P1_val, P2_val) fminsearch(@(x) abs(P1_func(x)-P1_val) + abs(P2_func(x)-P2_val), 0);
% 测试值
P1_test = 0.75;
P2_test = 0.25;
% 计算结果
result = compute_angle(P1_test, P2_test);
fprintf('输入P1=%f, P2=%f的角度是:%f\n', P1_test, P2_test, result);