プログラミング実習II知機2022/11_6_4
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[プログラミング実習II知機>../#A11]]
* 11章 問題4. [ファイルの書き込み] [#u9455c5f]
プログラムで計算した数学関数の値をプロットしたい。C言語の...
> 今回保存するファイルの拡張子は csv とする。カンマ区切り...
+ 177ページのリスト11.1を参考に、次のプログラムを作れ。
-- 出力ファイル名は "func.csv" とする。
-- 出力する内容の、1行目を以下とする。
x,sin(x),cos(x)
-- x を -3.5 から +3.5 程度まで 0.1 刻みで変化させながら...
-3.500000,0.350783,-0.936457
-3.400000,0.255541,-0.966798
...
+ プログラムを実行して、"func.csv" を生成する。テキストエ...
> +3.5 の行が出力されないことがあるが、浮動小数点演算の誤...
<
+ "func.csv" をExcelで開く。(演習室PCでは、ダブルクリッ...
+ Excel上で「挿入」→「グラフ」の散布図(のいずれか)を選...
#ref(func.png,,50%);
&br;
+ プロットされたグラフができたら、Excel上で「名前をつけて...
#ref(func-xlsx.png,,50%);
&br;
+ sin(x), cos(x) を、別の数学関数に自由に変更して、グラフ...
-- プログラムを実行しなおすたびに Excel を閉じる必要があ...
-- 数学関数は ax^2+bx+c, 1/x, sin(2*x), floor(x) など、何...
-- x の範囲や刻み幅は、自由に変更してよい。
-- CSVファイルの1行目が、グラフの系列名に使われるので、...
-- 参考までに、sin(x) のマクローリン展開のn次近似ルーチン...
double sin_maclaurin(int n, double x) {
double sum = 0;
double expx = 1; // x^i
double fact = 1; // i!
for (int i=1; i<=n; i++) {
expx *= x;
fact *= i;
if (i%4==1) sum += expx/fact;
if (i%4==3) sum -= expx/fact;
}
return sum;
}
>
- Excel以外にも、グラフ描画に都合のよいソフトはいくつもあ...
- C言語プログラムに限らず、このようにCSV形式を介して別ソ...
終了行:
[[プログラミング実習II知機>../#A11]]
* 11章 問題4. [ファイルの書き込み] [#u9455c5f]
プログラムで計算した数学関数の値をプロットしたい。C言語の...
> 今回保存するファイルの拡張子は csv とする。カンマ区切り...
+ 177ページのリスト11.1を参考に、次のプログラムを作れ。
-- 出力ファイル名は "func.csv" とする。
-- 出力する内容の、1行目を以下とする。
x,sin(x),cos(x)
-- x を -3.5 から +3.5 程度まで 0.1 刻みで変化させながら...
-3.500000,0.350783,-0.936457
-3.400000,0.255541,-0.966798
...
+ プログラムを実行して、"func.csv" を生成する。テキストエ...
> +3.5 の行が出力されないことがあるが、浮動小数点演算の誤...
<
+ "func.csv" をExcelで開く。(演習室PCでは、ダブルクリッ...
+ Excel上で「挿入」→「グラフ」の散布図(のいずれか)を選...
#ref(func.png,,50%);
&br;
+ プロットされたグラフができたら、Excel上で「名前をつけて...
#ref(func-xlsx.png,,50%);
&br;
+ sin(x), cos(x) を、別の数学関数に自由に変更して、グラフ...
-- プログラムを実行しなおすたびに Excel を閉じる必要があ...
-- 数学関数は ax^2+bx+c, 1/x, sin(2*x), floor(x) など、何...
-- x の範囲や刻み幅は、自由に変更してよい。
-- CSVファイルの1行目が、グラフの系列名に使われるので、...
-- 参考までに、sin(x) のマクローリン展開のn次近似ルーチン...
double sin_maclaurin(int n, double x) {
double sum = 0;
double expx = 1; // x^i
double fact = 1; // i!
for (int i=1; i<=n; i++) {
expx *= x;
fact *= i;
if (i%4==1) sum += expx/fact;
if (i%4==3) sum -= expx/fact;
}
return sum;
}
>
- Excel以外にも、グラフ描画に都合のよいソフトはいくつもあ...
- C言語プログラムに限らず、このようにCSV形式を介して別ソ...
ページ名: