アプリ版:「スタンプのみでお礼する」機能のリリースについて

b[2]=a[2][3]/a[2][2]

b[1]=a[1][3]/a[1][1]-a[1][2]/a[1][1]×b[2]

b[0]=a[0][3]/a[0][0]-a[0][1]/a[0][0]×b[1]-a[0][2]/a[0][0]×b[2]

#define N 3 とfor(i= N-1;i>=0;i++)より
b[i]=a[i][N]/a[i][i]

b[i]=a[i][N]/a[i][i]-a[i][i+1]/a[i][i]×b[i+1]

b[i]=a[i][N]/a[i][i]-a[i][i+1]/a[i][i]×b[i+1]-a[i][i+2]/a[i][i]×b[i+2]
から共通部分をfor文でまとめると
for(i=N-1;i>=0;i++){b[i]=1/a[i][i];}としました。
残った部分の
b[i]=a[i][N]
b[i]=a[i][N]-a[i][i+1]×b[i+1]
b[i]=a[i][N]-a[i][i+1]×b[i+1]-a[i][i+2]×b[i+2]
をどの様にforでまとめるか大変悩んでいます。
j=i+1でまとめようと考えたのですが、
どうしていいのか途方に暮れています。
どうか知恵を貸して頂けないでしょうか?

A 回答 (4件)

AN03の絵、右側のbの添え字はjですね。

ペンが滑ったようです(^-^;
ANO4は jになってます。
    • good
    • 0

∑はそのまんまforで積算するだけなので



d = a[i][N];

for (j = i + 1; j < =N-1; j++)
d -= a[i][j] * b[j];

b[i] = d / a[i][i];

というわけで振り出しに戻りました。
    • good
    • 0

>えーと、iの値に依存しないとは、i+1=jのように


>新たな変数でまとめてみるということですね

かなり違います。数式にするとこんな感じ
シグマ記号ってわかりますか?
「b[2]=a[2][3]/a[2][2]」の回答画像3
    • good
    • 0
この回答へのお礼

解答ありがとうございます。
載せて頂いた式をどうやってプログラムにするのですか?
大変気になります。
どうかよろしくお願いします。

お礼日時:2018/07/31 17:40

>b[i]=a[i][N]/a[i][i]-a[i][i+1]/a[i][i]×b[i+1]


こういう風に書くのでは駄目。iの値に依存しない形に書く
工夫をしないと前へ進めないですよ。

b[i]=
a[i][N]/a[i][i]
-a[i][i+1]/a[i][i]×b[i+1]
-a[i][i+2]/a[i][i]×b[i+2]

-a[i][N-1]/a[i][i]×b[N-1]

但し、3行目以降は 変化する添字が i+1から始まって
N-1で終わるので i+1>N-1
なら3行目以降は無いとします。

これで、3行目以降をループ化する方法を考えるのが
次の段階でしょう。
    • good
    • 0
この回答へのお礼

えーと、iの値に依存しないとは、i+1=jのように新たな変数でまとめてみるということですね!

お礼日時:2018/07/30 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!