• 締切済み

invalid operandsb to binary/エラー

はじめましてこんにちは。 プログラミングでC言語を使っています。 y'=x^2sqrt(y)についてオイラー法で解くプログラミングを作成しているんですが,invalid operandsb to binaryとエラーが出てなかなかできません。 そのプログラミングが下に表すものなんですが /*euler2.c*/ /* オイラー法 */ /* y'=x^2*sqrt(y) */ #include <stdio.h> #include <math.h> int main() { int i; int N=10000; /* 区間の分割数 */ double a=0.0,b=2.0; /* 区間の指定([0,2]) */ double y0=1; /* 初期値 */ double x,y,h; h=(b-a)/N; /* 刻み幅の計算 */ x=a; y=y0; /* 初期条件 */ for (i=0;i<N;i++){ ★ y=y+x^2*sqrt(y)*h+(2*x*sqrt(y)+x^4/2)/2*h^2; x=x+h; printf("%g %g\n",x,y); } return 0; } ★印のあるL21にエラーが出ます。もしどこを直せばよいかわかる方お願いします。 プログラミング初心者のため、不適切な言葉等ありましたらすいません。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ですね>#1. C はべき乗の演算子を持ちません. まあ, 一般には pow だけど 2乗なら素直に掛けた方がいい.

a3y1a
質問者

お礼

ありがとうございました。 コンパイルできました!

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> x^2 pow( x, 2.0 ) ――では。あてずっぽうですが。

a3y1a
質問者

お礼

ありがとうございました。 x*xでやってみました。

関連するQ&A