質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1337閲覧

出力値がnanになってしまう

ayakaa

総合スコア5

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2019/12/07 10:53

編集2019/12/07 11:42

各項の縦軸の値を出力したい

f(x)=2Σ(((-1)^n+1)/n)+sin(nx)のnの値を入力し、各(x,y)を出力したいのですが、xの出力はうまくいくもののyの値がnanになってしまいます。
各項termを出力し、項をちゃんと計算できていることは確認できたのですが、、、
(c++です)

発生している問題・エラーメッセージ

yの値がnanになってしまう

出力の一部です

x:2.55841,y:nan
x:2.65841,y:nan
x:2.75841,y:nan
x:2.85841,y:nan
x:2.95841,y:nan
x:3.05841,y:nan

該当のソースコード

#include<iostream> #include<stdio.h> #include<math.h> using namespace std; double term(int i,double x){//n番目の項 double r=100; double j = i; if(i%2==0){ /* cout << "before interm" << r << endl; cout << "sin(i*x):" << sin(i * x) << endl; cout << "j:" << j << endl; cout << "i:" << i << endl;*/ r = (-1) * (sin(i * x)) / j; // cout << "after interm:" << r << endl; return r; }else if(i%2==1){ r = sin(i * x)/i; return r; }else return r; } int main(){ double y = 0; int n; cin >> n; for (double x = -M_PI; x < M_PI;x+=0.1){//横軸 for (int i = 0; i < n;i++){ //cout << "term:" << term(i, x) << endl; //cout << "sin:" << sin(i * x) << endl; y = y + term(i, x);//縦軸 } y = y * 2; cout << "x:" << x << ",y:" << y << endl; y = 0; } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

i=0のときに以下の式の分母が0になるからだと思います。

c

1r = (-1) * (sin(i * x)) / j;

投稿2019/12/07 11:56

TaroToyotomi

総合スコア1430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

i=0のときtermで0除算が起きている

投稿2019/12/07 11:55

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ayakaa

2019/12/07 12:00

ご指摘ありがとうございます。 for文をi=1からにしたところ解決しました。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問