我在 matlab 中定义了一个非常基本的函数。它不接受任何输入并返回一个由 10 个浮点数组成的数组。我遇到的问题是,当我运行函数以返回我想要的数组时,我得到了不正确的值,但是当我替换一个值并简单地从函数中打印出该值时,我得到了正确的答案?!我从下面的代码中发布了示例:
% Calculate the terms in our expression
FirstTerm = sin(Alpha)*(atan(x+d)-atan(x-d));
SecondTerm = cos(Alpha)*0.5*log(((x+d).^2+h.^2)/((x-d).^2+h.^2));
% Combine and return result
Result = 2 * (FirstTerm - SecondTerm)
FirstTermTemp = sin(Alpha)*(atan(-8+d)-atan(-8-d));
SecondTermTemp = cos(Alpha)*0.5*log(((-8+d).^2+h.^2)/((-8-d).^2+h.^2));
ResultTemp = 2 * (FirstTermTemp - SecondTermTemp)
我要计算的数组从 -8 开始,因此结果应该匹配。有谁知道他们为什么不这样做?干杯杰克