(タイトル修正)私はy=exp[-x^2/2]のグラフを−3<x<3の範囲でグラフ化したいのですが

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

(タイトル修正)私はy=exp[-x^2/2]のグラフを−3<x<3の範囲でグラフ化したいのですが

#1

投稿記事 by yuka » 12年前

書き換えさせてもらいました

コード:

#include <stdio.h>
#include <math.h>
#define num 100

int main(void) {
float x[num],y[num]; float step_size;
int step;
step_size=6/num; for(step=0;step<num;step++){
x[step]=(-3)+step_size*step;
y[step]=exp((-1)*x[step]*x[step]/2);
}
/* data output */
FILE *fp;
fp = fopen("exp.csv","w");
for (step=0;step<num;step++){ fprintf(fp,"%f,%f\n",x[step],y[step]); printf("%f,%f\n",x[step],y[step]);
} fclose(fp);
return 0; }
:

box
記事: 2002
登録日時: 13年前

Re: codeタグ

#2

投稿記事 by box » 12年前

yuka さんが書きました:書き換えさせてもらいました
適切に字下げができていないので、読みづらいままです。
他の質問者のかたがどういう風にコードを貼っているか、よくごらんになってください。
また、新しいスレッドを立てるより、同じスレッドで続けられた方がよかったような気がします。
「codeタグ」というタイトルでは、見ている側は「何のこっちゃ?」ていう感じがすると思います。

さて、本題です。
yuka さんが書きました:

コード:

step_size=6/num;
step_sizeには、0が入っているはずです。
6 / 100 は整数型どうしの割り算ですので、0.06という、質問者さんが想定されているであろう値にはなりません。

ところで、計算したい範囲に等号が入っていないのは、何か特別な理由でもあるのでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

yuka

Re: codeタグ

#3

投稿記事 by yuka » 12年前

boxさん本当にありがとうございます
6.0/numにしたら動きました
プログラムも今度からは見やすくupします

nil
記事: 428
登録日時: 12年前

Re: codeタグ

#4

投稿記事 by nil » 12年前

float型を使うのであれば6.fまたは6.0fのほうが正しいと思います。

アバター
asd
記事: 319
登録日時: 13年前

Re: codeタグ

#5

投稿記事 by asd » 12年前

誰も前のスレッドへのリンクを貼らないようなので。

以下のスレッドの続きです。
質問があります お願いします
http://dixq.net/forum/viewtopic.php?f=3&t=11114
Advanced Supporting Developer
無理やりこじつけ(ぉ

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: (タイトル修正)私はy=exp[-x^2/2]のグラフを−3<x<3の範囲でグラフ化したいのですが

#6

投稿記事 by softya(ソフト屋) » 12年前

タイトルを修正させていただきました。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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