-1

C プログラムを使用して、材料の誘電率を計算したいと考えています。誘電率を計算する式は

E= Cx/Co;
Co= 15.88pF = 15.88*10^-12;
Cx=1/W.C;
W= 2*pi*f=2*pi*250000;
C= Cs/(1+tan^2(theta));
Cs=1;
theta=0 degree;

以下のコードを使用して、上記の式を C で実装しようとしました。

float E, Cx, Co= 15.88*10^-12;, Cs=1.0; f=250*10^3,Pi=3.14,theta=0.0;

angle= theta/180*pi;  // to convert degree to radians
W= 2*pi*f;
C= Cs/(1+tan^2(angle));
Cx=1/W.C;
E= Cx/Co;

printf("permitivity value: %.10f",E);

次のような電力値の表現を混乱させています

10^-12、tan^2(角度)。

私の表現は正しいですか?手動で計算した正確な値が得られません。電力値を表すより良い方法はありますか? 0.0000000000 のように、ポイントの 10 桁後に float 値を表示したい。しかし、ポイントの後に6桁しか表示できません。

誘電率を計算する正しい方法を教えてください。

4

2 に答える 2

2

C演算子について読んだ場合のみ...

演算子はビット単位の^XORを実行しますが、これは必要なものではありません。pow()からの標準ライブラリ関数を<math.h>使用して累乗を計算するか、科学的記数法を使用する必要があります。

Co = 15.88E-12;

C = Cs / (1 + pow(tan(angle), 2));

また、これは数学ではなく、Cであり、書くことはできませんtan ^ 2(argument)。関数を呼び出すことはできますが、数学表記のように「関数の2乗」を呼び出すことはできません。

于 2012-11-01T10:32:31.227 に答える
0

あなたの問題は、数式が C でも同じように記述できると考えていることですが、これは正しくありません。同じ記号でも全く違う意味を持っています。最初に C 構文を少し学びます。

于 2012-11-01T10:37:01.910 に答える