请考虑以下示例代码:
spacing_Pin = transpose(-27:0.001:2);
Phi_intrp3 = interp1(P_in3,Phi_out_deg3,spacing_Pin,'spline');
size(P_in3) = size(Phi_out_deg3) = 40 1
P_in1st = P_in3 -0.76;
thetah_1st = Phi_intrp3(ismember(spacing_Pin,P_in1st));
我认为thetah_1st
现在应该有40个元素。但事实证明,它只有20个。这必须是,因为P_in1st
只能在spacing_Pin
中找到20次。我知道,你没有给P_in3
,但它只有点后最多2位数。应P_in1st
。 min(P_in3) = -25.9800
和max(P_in3) = -0.0200
。这些值应包含在spacing_Pin
中。为什么thetah_1st
只有20个条目。
答案 0 :(得分:1)
如果没有更多信息和实际变量值,我们就无法说出来,但我怀疑问题在于使用ismember
方式。
由于您在数组中寻找浮点数而不是整数,因此您应该使用ismembertol
(ismember
具有容差)来处理任何潜在的浮点错误。
thetah_1st = Phi_intrp3(ismembertol(spacing_Pin, P_in1st));