Я определил действительно базовую функцию в 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, поэтому результаты должны совпадать. Кто-нибудь знает, почему они не будут? Ура Джек
alpha
,d
иh
? Пожалуйста, предоставьте все, чтобы проблема могла быть воспроизведена - person Dan   schedule 14.10.2013