MATLAB and Numerical Analysisbml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates... ·...
Transcript of MATLAB and Numerical Analysisbml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates... ·...
MATLAB and Numerical Analysis
Radiological Imaging SciencesSchool of Mechanical Engineering
Pusan National University
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: -, --, -., :