数学の3次関数 y = 3 * x * x * x - 0.2 * x * x + 0.3 * x -
0.7 に関し、xの定義域 [-1.5 : 1.5] において、xを0.1刻みで増加させてyの値を求めて小数点以5桁までを表示するプログラムを作成せよという問題がわかりません。
特に定義域をどうするかがわかりません。
どなたか力添えお願いします。
3次関数の問題
Re:3次関数の問題
for(double x = -1.5; x < 1.5; x += 0.5){ double value = 3 * x * x * x - 0.2 * x * x + 0.3 * x - 0.7; printf("%.5f\n",value); }こんなんでいいのかな?
Re:3次関数の問題
> xの定義域 [-1.5 : 1.5] において、xを0.1刻みで増加
整数値の-15から+15までを1刻みで増加させるようなfor文を作ります。
その中で、「-15から+15まで1刻みで増加」する数値を
10で割ったものをxとすれば、より正確な結果が出ることでしょう。
for文の制御変数にdouble型を使うと、浮動小数点数が含む誤差の関係で
-1.5~+1.5の範囲を0.1ごとに「正確に」増加させることができるかどうかは
疑問です。
整数値の-15から+15までを1刻みで増加させるようなfor文を作ります。
その中で、「-15から+15まで1刻みで増加」する数値を
10で割ったものをxとすれば、より正確な結果が出ることでしょう。
for文の制御変数にdouble型を使うと、浮動小数点数が含む誤差の関係で
-1.5~+1.5の範囲を0.1ごとに「正確に」増加させることができるかどうかは
疑問です。
Re:3次関数の問題
>その中で、「-15から+15まで1刻みで増加」する数値を
>10で割ったものをxとすれば、より正確な結果が出ることでしょう。
やってみて、小数部と整数部に分けて表示しようとして
答えが、-0.????? とかの表示が面倒でした(^^;
>10で割ったものをxとすれば、より正確な結果が出ることでしょう。
やってみて、小数部と整数部に分けて表示しようとして
答えが、-0.????? とかの表示が面倒でした(^^;
Re:3次関数の問題
> やってみて、小数部と整数部に分けて表示しようとして > 答えが、-0.????? とかの表示が面倒でした(^^; 小数部と整数部に分けるとは、何のことですか? -15から+15まで1ずつ増加する変数をfor文の制御用に使います。 for文のループの中で、その制御変数を10で割った値をxとします。 そのxをくだんの式に当てはめて"%.5f"の書式で出力するだけです。