matlab and numerical analysisbml.pusan.ac.kr/lectureframe/lecture/undergraduates... ·...

Post on 03-Aug-2020

14 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MATLAB and Numerical Analysis

Radiological Imaging SciencesSchool of Mechanical Engineering

Pusan National University

dongwoonkim@pusan.ac.kr

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Review

무명함수

>> fun = @(x,y) x^2 + y^2; % 𝑓𝑓 𝑥𝑥, 𝑦𝑦 = 𝑥𝑥2 + 𝑦𝑦2

>> fun(3,4)

>> ans

= 25

If문

>> if a == b

>> c=d;

>> end

만약 a=b 라면, c=d로계산하시오

for문

>> for i = 1:5

>> x(i+1)=x(i)+1;

>> end

순서도와동일

시작

x=x+1

i=5

출력

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Review

nlinfit

>> fun = @(p,x) I(1)*exp(-p*x); 𝑓𝑓 𝑡𝑡 = 𝐼𝐼 0 × 𝑒𝑒−𝜇𝜇𝑡𝑡

>> t = [0:2:10];

>> I = [0.9726 0.8001 0.6582 0.5415 0.4455 0.3665];

>> b0 = 1;

>> mu = nlinfit(t,I,fun,b0);

>> figure,plot(t,I,’ob’); hold on;

>> plot(t,fun(mu,t),’r’);

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Bisection

2ul

rxx

x+

=

추정된근의값

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Bisection

다음의방법들을사용하여 𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥의근을구하고, 참백분율상대오차를하나의그래프에함께그려비교하시오. 반복횟수에따른오차의특성을살피고, 각방법들간의차이점에대해논하시오.

참값으로 0.56714329를사용.

𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥

𝑥𝑥𝑙𝑙 = 0, 𝑥𝑥𝑢𝑢 = 1

𝑦𝑦𝑙𝑙 = 𝑓𝑓(𝑥𝑥𝑙𝑙),𝑦𝑦𝑢𝑢 = 𝑓𝑓(𝑥𝑥𝑢𝑢)

함수및초기치설정 𝑥𝑥𝑥𝑥𝑖𝑖 =𝑥𝑥𝑥𝑥𝑖𝑖 + 𝑥𝑥𝑥𝑥𝑖𝑖

2

iteration

𝑦𝑦𝑥𝑥𝑖𝑖 = 𝑓𝑓(𝑥𝑥𝑥𝑥𝑖𝑖)

만약 𝑦𝑦𝑥𝑥𝑖𝑖 × 𝑦𝑦𝑥𝑥𝑖𝑖 < 0이면,

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖만약 𝑦𝑦𝑥𝑥𝑖𝑖 × 𝑦𝑦𝑥𝑥𝑖𝑖 > 0이면,

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑒𝑒𝑡𝑡𝑖𝑖 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥𝑥𝑥𝑖𝑖𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 = 0.56714329최종결과

𝑥𝑥𝑥𝑥𝑡𝑡𝑒𝑒𝑒𝑒, 𝑒𝑒𝑡𝑡𝑡𝑡𝑒𝑒𝑒𝑒 획득

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Bisection coding

MATLAB and Numerical Analysis

Radiological Imaging Sciences

MATLAB and Numerical Analysis

Radiological Imaging Sciences

False position

다음의방법들을사용하여 𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥의근을구하고, 참백분율상대오차를하나의그래프에함께그려비교하시오. 반복횟수에따른오차의특성을살피고, 각방법들간의차이점에대해논하시오.

참값으로 0.56714329를사용.

𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥

𝑥𝑥𝑙𝑙 = 0, 𝑥𝑥𝑢𝑢 = 1

𝑦𝑦𝑙𝑙 = 𝑓𝑓(𝑥𝑥𝑙𝑙),𝑦𝑦𝑢𝑢 = 𝑓𝑓(𝑥𝑥𝑢𝑢)

함수및초기치설정 𝑥𝑥𝑥𝑥𝑖𝑖 = 𝑥𝑥𝑥𝑥𝑖𝑖 − 𝑦𝑦𝑥𝑥𝑖𝑖 ×𝑥𝑥𝑥𝑥𝑖𝑖 − 𝑥𝑥𝑥𝑥𝑖𝑖𝑦𝑦𝑥𝑥𝑖𝑖 − 𝑦𝑦𝑥𝑥𝑖𝑖

iteration

𝑦𝑦𝑥𝑥𝑖𝑖 = 𝑓𝑓(𝑥𝑥𝑥𝑥𝑖𝑖)

만약 𝑦𝑦𝑥𝑥𝑖𝑖 × 𝑦𝑦𝑥𝑥𝑖𝑖 < 0이면,

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖만약 𝑦𝑦𝑥𝑥𝑖𝑖 × 𝑦𝑦𝑥𝑥𝑖𝑖 > 0이면,

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑥𝑥𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑥𝑥𝑖𝑖

𝑒𝑒𝑡𝑡𝑖𝑖 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥𝑥𝑥𝑖𝑖𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 = 0.56714329최종결과

𝑥𝑥𝑥𝑥𝑡𝑡𝑒𝑒𝑒𝑒, 𝑒𝑒𝑡𝑡𝑡𝑡𝑒𝑒𝑒𝑒 획득

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Newton-Raphson

)(')(

1i

iii xf

xfxx −=+

추정된근의값

1

0)()('+−−

=ii

ii xx

xfxf

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Newton-Raphson

다음의방법들을사용하여 𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥의근을구하고, 참백분율상대오차를하나의그래프에함께그려비교하시오. 반복횟수에따른오차의특성을살피고, 각방법들간의차이점에대해논하시오.

참값으로 0.56714329를사용.

𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥

𝑥𝑥 = 0

𝑦𝑦 = 𝑓𝑓(𝑥𝑥)

함수및초기치설정 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 −𝑦𝑦𝑖𝑖𝑦𝑦𝑦1

iteration

𝑦𝑦𝑖𝑖+1 = 𝑓𝑓(𝑥𝑥𝑖𝑖+1)

𝑒𝑒𝑡𝑡𝑖𝑖 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥𝑖𝑖+1

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 = 0.56714329최종결과

𝑥𝑥𝑡𝑡𝑒𝑒𝑒𝑒, 𝑒𝑒𝑡𝑡𝑡𝑡𝑒𝑒𝑒𝑒 획득𝑓𝑓′(𝑥𝑥) = −𝑒𝑒−𝑥𝑥 − 1

𝑦𝑦𝑦 = 𝑓𝑓𝑦(𝑥𝑥)

𝑒𝑒𝑡𝑡1 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥1𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑦𝑦𝑦𝑖𝑖+1 = 𝑓𝑓𝑦(𝑥𝑥𝑖𝑖+1)

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Newton-Raphson coding

MATLAB and Numerical Analysis

Radiological Imaging Sciences

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Fixed-point iteration

다음의방법들을사용하여 𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥의근을구하고, 참백분율상대오차를하나의그래프에함께그려비교하시오. 반복횟수에따른오차의특성을살피고, 각방법들간의차이점에대해논하시오.

참값으로 0.56714329를사용.

𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥

𝑥𝑥 = 0

𝑦𝑦 = 𝑔𝑔(𝑥𝑥)

함수및초기치설정 𝑥𝑥𝑖𝑖+1 = 𝑦𝑦𝑖𝑖

iteration

𝑦𝑦𝑖𝑖+1 = 𝑔𝑔(𝑥𝑥𝑖𝑖+1)

𝑒𝑒𝑡𝑡𝑖𝑖 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥𝑖𝑖+1

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 = 0.56714329최종결과

𝑥𝑥𝑡𝑡𝑒𝑒𝑒𝑒, 𝑒𝑒𝑡𝑡𝑡𝑡𝑒𝑒𝑒𝑒 획득𝑔𝑔(𝑥𝑥) = 𝑒𝑒−𝑥𝑥

𝑒𝑒𝑡𝑡1 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥1𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Secant

다음의방법들을사용하여 𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥의근을구하고, 참백분율상대오차를하나의그래프에함께그려비교하시오. 반복횟수에따른오차의특성을살피고, 각방법들간의차이점에대해논하시오.

참값으로 0.56714329를사용.

𝑓𝑓 𝑥𝑥 = 𝑒𝑒−𝑥𝑥 − 𝑥𝑥

𝑥𝑥1 = 1𝑦𝑦𝑦 = 𝑓𝑓(𝑥𝑥1)

함수및초기치설정 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 −𝛿𝛿 × 𝑥𝑥𝑖𝑖 × 𝑦𝑦𝑦𝑖𝑖𝑦𝑦𝑦𝑖𝑖 − 𝑦𝑦𝑦𝑖𝑖

iteration

𝑦𝑦𝑦𝑖𝑖+1 = 𝑓𝑓(𝑥𝑥𝑖𝑖+1)

𝑒𝑒𝑡𝑡𝑖𝑖 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥𝑖𝑖+1

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 = 0.56714329최종결과

𝑥𝑥𝑡𝑡𝑒𝑒𝑒𝑒, 𝑒𝑒𝑡𝑡𝑡𝑡𝑒𝑒𝑒𝑒 획득

𝑒𝑒𝑡𝑡1 = 100 ×𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡 − 𝑥𝑥1𝑥𝑥𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡

𝑦𝑦𝑦 = 𝑓𝑓 𝑥𝑥1 + 𝛿𝛿𝑥𝑥1

𝛿𝛿 = 0.000001𝑦𝑦𝑦𝑖𝑖+1 = 𝑓𝑓 𝑥𝑥𝑖𝑖+1 + 𝛿𝛿 × 𝑥𝑥𝑖𝑖+1

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Structure & Save

Mat 파일로저장

Structure

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Graph plot

1) Load

2) Plotting

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Graph plot

3) Axis control

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Graph plot

4) Labeling

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Graph plot

5) Legend

6) save

MATLAB and Numerical Analysis

Radiological Imaging Sciences

Graph plot

Y축 log-scale로 plot 그래프선굵기한그래프에여러 line plot

Line의형태및색Legend (범례)

격자x & y 축범위설정 x 축범위설정및해당값설정

x 축설명y 축설명

타이틀

저장

Mat파일불러오기

Color: k(black), b(blue), r(red), m(magenta), g(green)Line style: -, --, -., :

top related