0
我已經在matlab中定義了一個非常基本的函數。它不需要輸入並返回10個浮點數的數組。 我遇到的問題是,當我運行函數返回數組我想我得到不正確的值,但是當我替換一個值,並簡單地打印出的函數內的值我得到正確的答案?! 從下面的代碼我已經張貼樣本:函數中的基本算術問題(Matlab)
% 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開始這樣的成績應該比賽數組。有誰知道爲什麼他們不會? 乾杯 傑克
你能告訴什麼號碼,你也希望他們是什麼呢?我有一種感覺,這是一個浮點精度誤解 – Dan
是的肯定的事情,我期望(我已經使用mathematica /楓/手工驗證了這一點)得到0.0979,這是我從運行中得到的直接使用-8當我在數組上運行時,我得到了0.0181 – JMzance
是的,但是你對'alpha','d'和'h'使用了什麼?請提供一切,以便可以複製問題 – Dan