3次関数の問題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
MASAMI

3次関数の問題

#1

投稿記事 by MASAMI » 15年前

数学の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桁までを表示するプログラムを作成せよという問題がわかりません。

特に定義域をどうするかがわかりません。

どなたか力添えお願いします。

Ma

Re:3次関数の問題

#2

投稿記事 by Ma » 15年前

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);
	}
こんなんでいいのかな?

box

Re:3次関数の問題

#3

投稿記事 by box » 15年前

> 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ごとに「正確に」増加させることができるかどうかは
疑問です。

Hermit

Re:3次関数の問題

#4

投稿記事 by Hermit » 15年前

>その中で、「-15から+15まで1刻みで増加」する数値を
>10で割ったものをxとすれば、より正確な結果が出ることでしょう。
やってみて、小数部と整数部に分けて表示しようとして
答えが、-0.????? とかの表示が面倒でした(^^;

box

Re:3次関数の問題

#5

投稿記事 by box » 15年前

> やってみて、小数部と整数部に分けて表示しようとして
> 答えが、-0.????? とかの表示が面倒でした(^^;

小数部と整数部に分けるとは、何のことですか?

-15から+15まで1ずつ増加する変数をfor文の制御用に使います。
for文のループの中で、その制御変数を10で割った値をxとします。
そのxをくだんの式に当てはめて"%.5f"の書式で出力するだけです。

閉鎖

“C言語何でも質問掲示板” へ戻る