ヤコビ法 H20前期1 ― 2008/05/08
1.実験の目的
最初に説明した内容を文章でまとめる。
2.実験理論
2.1 ヤコビ法による2元1次連立方程式の反復式
2.2 ヤコビ法によるn元1次連立方程式の反復式
3.実験結果
3.1 手計算による2元1次連立方程式
3.2 コンピュータによる2元1次連立方程式
3.3 コンピュータによる3元1次連立方程式
初期値、繰返回数、プログラムによる解、予想される厳密解を記述し、その収束の様子について説明しなさい。
4.考察
4.1 終了条件をどのように記述したらよいか説明しなさい。
4.2 PAD図を作成せよ。
5.感想
6.付録
コメントつきプログラムリスト
最初に説明した内容を文章でまとめる。
2.実験理論
2.1 ヤコビ法による2元1次連立方程式の反復式
2.2 ヤコビ法によるn元1次連立方程式の反復式
3.実験結果
3.1 手計算による2元1次連立方程式
3.2 コンピュータによる2元1次連立方程式
3.3 コンピュータによる3元1次連立方程式
初期値、繰返回数、プログラムによる解、予想される厳密解を記述し、その収束の様子について説明しなさい。
4.考察
4.1 終了条件をどのように記述したらよいか説明しなさい。
4.2 PAD図を作成せよ。
5.感想
6.付録
コメントつきプログラムリスト
アプレットサンプルプログラム ― 2007/11/01
import java.io.*;
import java.applet.*;
import java.awt.*;
/*<applet code ="ap01.class" width="300" height="300">
</applet>*/
public class ap01 extends Applet{
public void paint(Graphics g){
//----------------------input---------------------
int num[]=new int[15];
try{
BufferedReader br =
new BufferedReader(new FileReader("test.txt"));
String str;
for(int i=0;i<num.length;i++){
str=br.readLine();
num[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println("input error!");
}
//-----------max, min, sum -------------------------
int max,min,sum;
max=min=sum=num[0];
for(int i=1;i<num.length;i++){
if( num[i] > max )
max = num[i];
if( num[i] < min )
min = num[i];
sum+=num[i];
}
//-------------- dosuu --------------------
int dx = (max-min)/5;
int dosu[]=new int[6];
for(int i=0;i<num.length;i++)
dosu[num[i]/dx-1]++;
//---------- drawing of axis -----------------
g.drawLine(20,250,250,250);
g.drawLine(40,260,40,100);
for( int i=1;i<7;i++){
g.drawLine(38,250-20*i,42,250-20*i);
String str=Integer.toString(i*10);
g.drawString(str,50+20*(i-1),265);
}
//---------- drawing of dosuu -----------------
g.setColor(new Color(0,0,255));
for(int i=0;i<dosu.length;i++)
g.drawRect(50+20*i,250-20*dosu[i],18,20*dosu[i]);
//--------- drawing of parameter ----------------
String moji="max = "+Integer.toString(max);
g.drawString(moji,180,50);
moji="min = "+Integer.toString(min);
g.drawString(moji,180,70);
moji="average = "+Double.toString(sum/15.0);
g.drawString(moji,180,90);
}
}
import java.applet.*;
import java.awt.*;
/*<applet code ="ap01.class" width="300" height="300">
</applet>*/
public class ap01 extends Applet{
public void paint(Graphics g){
//----------------------input---------------------
int num[]=new int[15];
try{
BufferedReader br =
new BufferedReader(new FileReader("test.txt"));
String str;
for(int i=0;i<num.length;i++){
str=br.readLine();
num[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println("input error!");
}
//-----------max, min, sum -------------------------
int max,min,sum;
max=min=sum=num[0];
for(int i=1;i<num.length;i++){
if( num[i] > max )
max = num[i];
if( num[i] < min )
min = num[i];
sum+=num[i];
}
//-------------- dosuu --------------------
int dx = (max-min)/5;
int dosu[]=new int[6];
for(int i=0;i<num.length;i++)
dosu[num[i]/dx-1]++;
//---------- drawing of axis -----------------
g.drawLine(20,250,250,250);
g.drawLine(40,260,40,100);
for( int i=1;i<7;i++){
g.drawLine(38,250-20*i,42,250-20*i);
String str=Integer.toString(i*10);
g.drawString(str,50+20*(i-1),265);
}
//---------- drawing of dosuu -----------------
g.setColor(new Color(0,0,255));
for(int i=0;i<dosu.length;i++)
g.drawRect(50+20*i,250-20*dosu[i],18,20*dosu[i]);
//--------- drawing of parameter ----------------
String moji="max = "+Integer.toString(max);
g.drawString(moji,180,50);
moji="min = "+Integer.toString(min);
g.drawString(moji,180,70);
moji="average = "+Double.toString(sum/15.0);
g.drawString(moji,180,90);
}
}
確率密度関数を用いた統計分析[情報工学実験3前期テーマ2] ― 2007/05/31
1.実験目的
2.理論
3.手順
4.結果
4.1 アプレットによる表示結果
4.2 分割数を変化させたときの面積
描画範囲、σ、μの値を説明すること
5.考察
5.1確率密度関数の用途(メリット)
5.2規格値-5%以下が入る確率
(プログラムと確率密度表から求め、プログラム上でどのように値を設定したが記述する。)
5.3分割数による面積変化について
6.感想
7.付録(コメント付きプログラムリスト)
ヤコビ法による解の収束特性[情報工学実験3後期] ― 2007/01/18
1.目的
ヤコビ法による解の収束特性をグラフ化することで理解する。グラフ化はJavaAppletを用いて、初期値、終了条件変化によるグラフ変化の様子を考察する。
2.課題
3元と5元連立方程式の収束特性を折れ線グラフで示せ。(どの方程式についたか説明文を入れること。)
各軸の項目名、目盛り、変数名を記入し、見易さに配慮すること。また、その収束の様子について説明しなさい。
3.考察
3.1 初期値の変化によって、どのように収束特性が変化するか、初期値を変えたグラフを元に説明しなさい。
3.2 コンパイルでデータ(2、3、5元の変数)を変更せずにプログラムを一般化するためには、どのような工夫をすればよいか。ソースコードを用いて説明しなさい。
4.感想
5.参考文献
6.付録
コメント付きコメントリスト
ヤコビ法による解の収束特性をグラフ化することで理解する。グラフ化はJavaAppletを用いて、初期値、終了条件変化によるグラフ変化の様子を考察する。
2.課題
3元と5元連立方程式の収束特性を折れ線グラフで示せ。(どの方程式についたか説明文を入れること。)
各軸の項目名、目盛り、変数名を記入し、見易さに配慮すること。また、その収束の様子について説明しなさい。
3.考察
3.1 初期値の変化によって、どのように収束特性が変化するか、初期値を変えたグラフを元に説明しなさい。
3.2 コンパイルでデータ(2、3、5元の変数)を変更せずにプログラムを一般化するためには、どのような工夫をすればよいか。ソースコードを用いて説明しなさい。
4.感想
5.参考文献
6.付録
コメント付きコメントリスト
ヤコビ法による連立方程式の解法[情報工学実験3後期] ― 2006/11/16
1.実験の目的
本実験では、連立方程式を解くために様々な数値解放(例えば、ガウスの消去法、LU分解法、ガウス・ジョルダン法など)のうち、最も基本的で単純なヤコビ(Jacobi)法のアルゴリズムを理解し、それをプログラミングにより実現する。
2.実験理論
3.実験結果
3.1 3元連立方程式を解け(問題記述)
3.2 5元連立方程式を解け
初期値、繰返回数、プログラムによる解、予想される厳密解を記述
4.考察
4.1 εについて、データに基づいて説明せよ。
4.2 PAD図を作成せよ。
5.感想
本実験では、連立方程式を解くために様々な数値解放(例えば、ガウスの消去法、LU分解法、ガウス・ジョルダン法など)のうち、最も基本的で単純なヤコビ(Jacobi)法のアルゴリズムを理解し、それをプログラミングにより実現する。
2.実験理論
3.実験結果
3.1 3元連立方程式を解け(問題記述)
3.2 5元連立方程式を解け
初期値、繰返回数、プログラムによる解、予想される厳密解を記述
4.考察
4.1 εについて、データに基づいて説明せよ。
4.2 PAD図を作成せよ。
5.感想
最近のコメント