0

この関数を JavaScript で実行すると、NaN の結果が得られます。この操作で使用される配列はすべて数値であり、Alert(); を使用すると適切に表示されるため、非常に非論理的なようです。あなたの監督のためにここにコードを残しました:

function calculation_errors(){      
    arr_error_P_t2=new Array();
    for(var i=0;i<arr_P_t1.length;i++){
        var K=new Number(arr_K_t1[i]);
        var P=new Number(arr_P_t1[i]);      
        arr_error_P_t2[i]=(Math.sqrt(1+Math.pow(m_t2,2)))*(Math.sqrt((Math.pow(1/K,2)+(Math.pow(1/P,2)))));
    }
    alert(arr_error_P_t2.join('\n'));
}
4

5 に答える 5

0

数値をオブジェクトに変換しないでください。これにより、NaNの問題が解決するはずです。

function calculation_errors(){      
    arr_error_P_t2=new Array();

    for(var i=0;i<arr_P_t1.length;i++){
        var K= arr_K_t1[i];
        var P= arr_P_t1[i];      
        arr_error_P_t2.push((Math.sqrt(1+Math.pow(m_t2,2)))*(Math.sqrt((Math.pow(1/K,2)+(Math.pow(1/P,2)))))); 
        //I prefer .push() but you don't have to use this part
    }

    alert(arr_error_P_t2.join('\n'));
}
于 2013-08-10T03:43:33.097 に答える