数値解析シラバス C言語環境と数値解析の概要(1 回) C言語環境と数値解析の概要(1 回) 方程式の根(1回) 方程式の根(1回) 連立一次方程式(2回) 連立一次方程式(2回) 補間と近似(2回) 補間と近似(2回) 数値積分(1回) 数値積分(1回) 中間試験(1回) 中間試験(1回) 常微分方程式(1回)

Slides:



Advertisements
Similar presentations
計測工学 10 データの補間 スプライン補間 1. . 復習 階差 近似多項式の次数 の決定法 等間隔階差 – 関数 y=f(x) で、 x の値 が等間隔の場合 等間隔: x 0, x 0 +h, x 0 +2h ・・・ y の値: y 0, y 1, y 2 ・・・ これらの階差は – 第1階差:
Advertisements

2. 数値微分法. 数値微分が必要になる場合として、次の 2 つが考えられる。 関数が与えられていて、その微分を近似的に計算する。 (数値微分の精度が十分で、かつ、計算速度が数値微分の方が 早い場合など。) 離散的な点の上で離散的なデータしかわかっていない関数の微 分を近似的に計算する。(偏微分方程式の数値解を求めたい時.
摂南大学理工学部における 数学教育と EMaT への取組み 東武大、小林俊公、中津了勇、島田伸一、寺本惠昭、友枝 恭子 ( 摂南大学理工学部 基礎理工学機構 ) 日本工学教育協会 第 63 回年次大会 2015 年 9 月 4 日 ( 金 ) 9:30-9:45.
22 ・ 3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要 # 複雑な速度式 数値積分 (コンピューターシミュ レーション) # 単純な場合 解析的な解(積分形速度式) (a)1 次反応 1次の速度式 の積分形 [A] 0 は A の初濃度 (t = 0 の濃度.
放射線の計算や測定における統計誤 差 「平均の誤差」とその応用( 1H) 2 項分布、ポアソン分布、ガウス分布 ( 1H ) 最小二乗法( 1H )
原子動力工学特論 課題2 交通電子機械工学専攻 2003310 齋藤 泰治.
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
研究内容の紹介 電磁場の計算機シミュレーション 卒業研究 研究室の紹介
有限差分法による 時間発展問題の解法の基礎
Fortran と有限差分法の 入門の入門の…
プログラミング論 数値積分
プログラミング論 I 補間
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
数個、数十個のデータ点から その特徴をつかむ
解析的には解が得られない 方程式を数値的に求める。 例:3次方程式
連立一次方程式 a11x1+a12x2+a13x3+...+a1nxn= b1
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
1 次方程式 直線   と 軸が交わる点 解ける! 解析的に解ける(解析解)   または 厳密に解ける (厳密解)
Scilab で学ぶ  わかりやすい数値計算法 舞鶴高専 電子制御工学科 川田 昌克.
原子動力工学特論 課題 3、4 交通電子機械工学専攻   齋藤 泰治.
常微分方程式と偏微分方程式 1.常微分方程式 独立変数が一個のもの 振動の運動方程式 2.偏微分方程式 独立変数が二個以上のもの
重力3体問題の数値積分Integration of 3-body encounter.
東京工業大学 機械制御システム専攻 山北 昌毅
IT入門B2 ー 連立一次方程式 ー.
第二回 連立1次方程式の解法 内容 目標 連立1次方程式の掃出し法 初期基底を求める 連立1次方程式を掃出し法を用いてExcelで解析する
数値解析シラバス C言語環境と数値解析の概要(1回) 方程式の根(1回) 連立一次方程式(2回) 補間と近似(2回) 数値積分(1回)
非線形方程式の近似解 (2分法,はさみうち法,Newton-Raphson法)
2008年6月12日 非線形方程式の近似解 Newton-Raphson法
誤差の二乗和の一次導関数 偏微分.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
情報科学 第6回 数値解析(1).
データ解析 静岡大学工学部 安藤和敏
応用数学 計算理工学専攻 杉原研究室 山本有作.
北大MMCセミナー 第76回 附属社会創造数学センター主催 Date: 2017年10月12日(木) 16:30~18:00
関数とポインタ 値呼び出しと参照呼び出し swapのいろいろ 関数引数 数値積分
タップ長が一般化された 適応フィルタの統計力学
数値積分.
関数の定義.
プログラミング論 II 2008年吉日 主成分分析 数値積分
傾きがわかった関数の軌跡を求める. 変数は二つ以上
最小自乗法.
前回の練習問題.
プログラミング演習I ―数値解析― 平成16年度 前期 上 村 佳 嗣.
ルンゲクッタ法 となる微分方程式の解を数値的に解く方法.
8. 高階関数を用いた抽象化 プログラミング論I.
FEM勉強会 (第3回).
疑似乱数, モンテカルロ法によるシミュレーション
計算機プログラミングI 第6回 2002年11月14日(木) アルゴリズムと計算量 第1回課題の説明 平方根を計算するアルゴリズム 計算量
データ解析 静岡大学工学部 安藤和敏
連立一次方程式 a11x1+a12x2+a13x3+...+a1nxn= b1
22・3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要
回帰分析(Regression Analysis)
22・3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要
情報科学 第6回 数値解析(1).
確率論・数値解析及び演習 (第7章) 補足資料
数値解析 第6章.
2008年6月5日 非線形方程式の近似解 2分法,はさみうち法,Newton-Raphson法)
数値解析 平成29年度前期 第4週 [5月1日] 静岡大学 創造科学技術大学院 情報科学専攻 工学部機械工学科 計測情報講座 三浦 憲二郎
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
Cプログラミング演習 ニュートン法による方程式の求解.
How shall we do “Numerical Simulation”?
3 一次関数 1章 一次関数とグラフ §4 方程式とグラフ         (3時間).
応用数学 計算理工学専攻 張研究室 山本有作.
第2章 数値の入力と変数 scanfと変数をやります.
コンピュータの高速化により, 即座に計算できるようになってきたが, 手法的にはコンピュータ出現以前に考え出された 方法が数多く使われている。
8.2 数値積分 (1)どんなときに数値積分を行うのか?
5.3 ラグランジェ(Lagrange)の補間式
8.数値微分・積分・微分方程式 工学的問題においては 解析的に微分値や積分値を求めたり, 微分方程式を解くことが難しいケースも多い。
Presentation transcript:

数値解析シラバス C言語環境と数値解析の概要(1 回) C言語環境と数値解析の概要(1 回) 方程式の根(1回) 方程式の根(1回) 連立一次方程式(2回) 連立一次方程式(2回) 補間と近似(2回) 補間と近似(2回) 数値積分(1回) 数値積分(1回) 中間試験(1回) 中間試験(1回) 常微分方程式(1回) 常微分方程式(1回) 偏微分方程式(2回) 偏微分方程式(2回) 数値計算の応用(3回) 数値計算の応用(3回) 期末試験(1回) 期末試験(1回) 6月12日(水)5限 今週 来週

数値積分 解析的に積分が困難な関数を数値的に積分する

数値積分 台形公式 台形公式 関数を直線で近似し、台形の集合体とす る。 関数を直線で近似し、台形の集合体とす る。 x y x0x0 x1x1 x2x2 x3x3 y0y0 y1y1 y2y2 y3y3

台形 I = 0.5×h {(y 0 +y 1 )+(y 1 +y 2 )+.. + (y n-1 +y n )} I = 0.5×h {(y 0 +y 1 )+(y 1 +y 2 )+.. + (y n-1 +y n )} = 0.5×h(y 0 +2y 1 + 2y y n ) = 0.5×h(y 0 +2y 1 + 2y y n ) x y x0x0 x1x1 x2x2 x3x3 y0y0 y1y1 y2y2 y3y3 h

台形公式計算例 x y I = x 4 +2x dx = I = x 4 +2x dx = I = 0.5×1×(0+2 ・ 3+2 ・ 20+87)=66.5 I = 0.5×1×(0+2 ・ 3+2 ・ 20+87)=66.5

Excelで確認 ABC 1XY 20.0=A2^4+2*A2=B2 30.5=2*B =B8 =(0.5/2)*sum(C2:C8) 区間の幅 数値の合計 I = x 4 +2x dx = I = x 4 +2x dx = N = 6

Excelで確認 ABC 1XY 20.0=A2^4+2*A2=B2 30.1=2*B =B8 =(0.1/2)*sum(C2:C32) 区間の幅 数値の合計 I = x 4 +2x dx = I = x 4 +2x dx = N = 30

台形公式による積分 #include #defineN30 doublefunc_y( double ); int main( ) { doubley[N+1]; doublexa = 0.0, xb = 3.0; doublez = 0.0, h, x, s; inti;

h = (xb - xa)/(double)N; for(i=0;i<=N;i++){ x = xa + h*(double)i; y[i] = func_y(x); } for(i=1;i<N;i++)z += 2.0*y[i]; s = (h/2.0)*(y[0]+z+y[N]); printf("ANS = %8.4lf\n",s); return 0; } doublefunc_y(double x){ returnpow(x, 4.0) + 2.0*x; } I =0.5×h(y 0 +2y 1 + 2y y n ) I =0.5×h(y 0 +2y 1 + 2y y n ) y = x 4 + 2x y = x 4 + 2x

数値積分での誤差縮小 分割数を多くする. 分割数を多くする. 曲線で近似 → シンプソン 曲線で近似 → シンプソン

厳密解の推定 nanswer ∞57.6

台形公式(第4章1)

台形公式(第4章1)

曲線による近似 シンプソン公式 シンプソン公式 2区間毎を二次関数で近似し、積分する。 x y x0x0 x1x1 x2x2 x3x3 y0y0 y1y1 y3y3 y4y4 y2y2 x4x4 2次関数

2次関数の積分 x y x0x0 x1x1 x2x2 y0y0 h y1y1 y2y2 h I = h(y 0 + 4y 1 + y 2 ) I = h(y 0 + 4y 1 + y 2 )13

2次関数の積分 x y y = x 2 I = x 2 dx =[ ] = I = x 2 dx =[ ] = 2 0 x3x333x3x 解析解 I = h(y 0 + 4y 1 + y 2 ) I = h(y 0 + 4y 1 + y 2 ) = 1 × (0 + 4 × 1 + 4)= = 1 × (0 + 4 × 1 + 4)= 数値解

シンプソン公式 x y x0x0 x1x1 x2x2 x3x3 y0y0 y1y1 y3y3 y4y4 x4x4 I = h{(y 0 + 4y 1 + y 2 )+ I = h{(y 0 + 4y 1 + y 2 )+ (y 2 + 4y 3 + y 4 ) + ……} (y 2 + 4y 3 + y 4 ) + ……}13 y2y2

シンプソン公式 x y x0x0 x1x1 x2x2 x3x3 y0y0 y1y1 y3y3 y4y4 x4x4 I = h{y 0 + 4(y 1 + y ) I = h{y 0 + 4(y 1 + y ) 2(y 2 + y ) + y n } 2(y 2 + y ) + y n }13 奇数番目を4 倍 偶数番目を2 倍 偶数番目 奇数番目 y2y2

Excelで確認 ABC 1XY 20.0=A2^4+2*A2=B2 30.5=?*B3 41.0=?*B4 51.5=?*B5 62.0=?*B6 72.5=?*B7 83.0=B8 =(?/?)*sum(C2:C8) 区間の幅数値の合計 I = x 4 +2x dx = I = x 4 +2x dx =

Excelで確認 ABC 1XY 20.0=A2^4+2*A2=B2 30.5=4*B3 41.0=2*B4 51.5=4*B5 62.0=2*B6 72.5=4*B7 83.0=B8 =(0.5/3)*sum(C2:C8) 初め 数値の合計 奇数番目 偶数番目 最後 I = x 4 +2x dx = I = x 4 +2x dx =

シンプソン計算例 x y I = x 4 +2x dx = I = x 4 +2x dx =

nclude #include #defineN30 doublefunc_y( double ); int main( ){ doubley[N+1]; doublexa = 0.0, xb = 3.0; doublez1 = 0.0, z2 = 0.0, h, x, s; inti; h = (xb - xa)/(double)N;

for(i=0;i<=N;i++){ x = xa + h*(double)i; y[i] = func_y(x); } for(i=1;i<=N-1;i+=2)z1 += 4.0*y[i]; for(i=2;i<=N-2;i+=2)z2 += 2.0*y[i]; s = (h/3.0)*(y[0]+z1+z2+y[N]); printf("ANS = %8.4lf\n",s); return 0; } doublefunc_y(double x) { returnpow(x, 4.0) + 2.0*x; } 奇数番目を4 倍 偶数番目を2 倍 最初と最後は1 倍

一次(台形)と二次(シンプソン) の精度 n台形 シンプソ ン ∞57.6

一次(台形)と二次(シンプソン) の精度