軟體實作與計算實驗 1 roots of nonlinear functions nested for loops lecture 5ii
TRANSCRIPT
![Page 1: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/1.jpg)
軟體實作與計算實驗 1
Roots of nonlinear functionsNested FOR loops
Lecture 5II
![Page 2: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/2.jpg)
軟體實作與計算實驗 2
Nonlinear system
0
04
21
2
2
2
1
xx
xx
![Page 3: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/3.jpg)
軟體實作與計算實驗 3
A set of nonlinear functions
21212
22
21211
211
21121
),(
4),(
),(
),(),F(
xxxxf
xxxxf
xxf
xxfxx
![Page 4: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/4.jpg)
軟體實作與計算實驗 4
function F = myfun(x) F(1) = x(1).^2 + x(2)^2-4; F(2) = x(1) - x(2);return
Function evaluation
![Page 5: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/5.jpg)
軟體實作與計算實驗 5
x=linspace(-2,2);plot(x,x); hold on; plot(x,sqrt(4-x.^2))plot(x,-sqrt(4-x.^2))
![Page 6: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/6.jpg)
軟體實作與計算實驗 6
Least square of nonlinear functions
i
ixxxxf 2
21,),(min
21
0),(
04),(
SOLVE
21212
22
21211
xxxxf
xxxxf
![Page 7: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/7.jpg)
軟體實作與計算實驗 7
x0= ones(1,2)*2;x = lsqnonlin(@myfun,x0)
Find a zero
y=myfun(x);sum(y.^2)
CHECKING
![Page 8: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/8.jpg)
軟體實作與計算實驗 8
Multiple roots
x0= ones(1,2)*2;x = lsqnonlin(@myfun,x0)v=[v;x];plot(x(1),x(2),'o');
v=[]
for i=1:n
demo_lsq.m
![Page 9: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/9.jpg)
軟體實作與計算實驗 9
012),(
0242),(
SOLVE
22212
22
21211
21
xxxxf
xxxxf
![Page 10: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/10.jpg)
軟體實作與計算實驗 10
function F = myfun2(x) F(1) = 2*x(1).^2 + x(2)^2-24; F(2) = x(1).^2 - x(2).^2+12;return
Function evaluation
012),(
0242),(22
212
22
21211
21
xxxxf
xxxxf
![Page 11: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/11.jpg)
軟體實作與計算實驗 11
x0= ones(1,2)*2;x = lsqnonlin(@myfun2,x0)
Find a zero
y=myfun2(x);sum(y.^2)
CHECKING
![Page 12: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/12.jpg)
軟體實作與計算實驗 12
Multiple roots
x0= ones(1,2)*2;x = lsqnonlin(@myfun2,x0)v=[v;x];plot(x(1),x(2),'o');
v=[]
for i=1:n
![Page 13: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/13.jpg)
軟體實作與計算實驗 13
x=linspace(-5,5);plot(x,sqrt(24-2*x.^2),'r');hold on; plot(x,-sqrt(24-2*x.^2),'r')plot(x,sqrt(12+x.^2),'b')plot(x,-sqrt(12+x.^2),'b')
![Page 14: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/14.jpg)
軟體實作與計算實驗 14
Demo_lsq_2c
source code
![Page 15: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/15.jpg)
軟體實作與計算實驗 15
02),(
022),(
SOLVE
21212
22
21211
xxxxf
xxxxf
![Page 16: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/16.jpg)
軟體實作與計算實驗 16
function F = myfun3(x) F(1) = x(1).^2 -2* x(2)^2-2; F(2) = x(1).*x(2) -2;return
Function evaluation
02),(
022),(
SOLVE
21212
22
21211
xxxxf
xxxxf
![Page 17: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/17.jpg)
軟體實作與計算實驗 17
x=linspace(-3,3);x=x(find(abs(x) > 0.1));plot(x,sqrt((x.^2-2)/2),'r');hold on; plot(x,-sqrt((x.^2-2)/),'r')x=linspace(0.5,3);plot(x,2./x,'b');x=linspace(-0.5,-3);plot(x,2./x,'b')
![Page 18: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/18.jpg)
軟體實作與計算實驗 18
x0= ones(1,2)*2;x = lsqnonlin(@myfun3,x0)
Find a zero
y=myfun3(x);sum(y.^2)
CHECKING
![Page 19: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/19.jpg)
軟體實作與計算實驗 19
Multiple roots
x0= ones(1,2)*2;x = lsqnonlin(@myfun3,x0)v=[v;x];plot(x(1),x(2),'o');
v=[]
for i=1:n
![Page 20: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/20.jpg)
軟體實作與計算實驗 20
demo_lsq_hyperbola.txt
two_hyperbola.txt
![Page 21: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/21.jpg)
軟體實作與計算實驗 21
Matrix Multiplication
C=A*BC(i,j)=A(i,:) *B(:,j) for all i,j
![Page 22: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/22.jpg)
軟體實作與計算實驗 22
Nested FOR Loops
C(i,j)=A(i,:) *B(:,j)
[n,d1]=size(A);[d2,m]=size(B)
for i=1:n
for j=1:m
![Page 23: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/23.jpg)
軟體實作與計算實驗 23
[n,d1]=size(A);[d2,m]=size(B);for i=1:nfor j=1:m C(i,j)=A(i, :) *B(:,j);endend
![Page 24: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/24.jpg)
軟體實作與計算實驗 24
Constrained optimization
13
100
102
22
21
12
2
1
xx
xx
x
x
Inequality constraint
Nonlinear equality
![Page 25: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/25.jpg)
軟體實作與計算實驗 25
12
2
1
100
102
xx
x
x
222
21
,)13(min
21
xxxx
Constrained optimization
![Page 26: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/26.jpg)
軟體實作與計算實驗 26
Constraints
Lower bound and upper boundEquality constraintInequality constraint
![Page 27: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/27.jpg)
軟體實作與計算實驗 27
Constraints
Lower bound
Upper bound
],[]0,2[ 21 xx
]10,10[],[ 21 xx
Inequality constraints
0112
1
12
x
x
xx
![Page 28: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/28.jpg)
軟體實作與計算實驗 28
Demo_conop2
function demo_conop2()lb =[-2 0];ub =[10,10];Aeq=[-1 1];beq=[0];A=[];b=[];x = fmincon(@fun,[1 1],A,b,Aeq,beq,lb,ub)x(1).^2+x(2).^2returnfunction y = fun(x)y = (x(1).^2+x(2).^2-13).^2;return
demo_conop2.m
![Page 29: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/29.jpg)
軟體實作與計算實驗 29
function y = fun(x)
y = (x(1).^2+x(2).^2-13).^2;
return
Objective function
![Page 30: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/30.jpg)
軟體實作與計算實驗 30
Calling fmincon
x = fmincon(@fun,[1 1],A,b,Aeq,beq,lb,ub)
objective function initial
guesslinearequality
inequality
Lower and upperbound
![Page 31: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/31.jpg)
軟體實作與計算實驗 31
Random variable
Sample space S={A,T,C,G}X is a discrete random variable with
sample space S.
apAX )Pr(
cpCX )Pr(tpTX )Pr(
gpGX )Pr(
![Page 32: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/32.jpg)
軟體實作與計算實驗 32
Generative model
pa
pt pc
pg
A T C G
Flip-flop
1 gcta pppp
gatcacaggt
![Page 33: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/33.jpg)
軟體實作與計算實驗 33
Partition
ap0 1cta
ta
a
pppn
ppn
pn
3
2
1
1n 2n 3n
Knots partition [0,1] into four intervals respectively with lengths,
321 and , nnn
gcta pppp and ,,
tp cp gp
![Page 34: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/34.jpg)
軟體實作與計算實驗 34
r=rand;Tag= (r<=c(1))+ 2*(r<=c(2) & r > c(1))+3*(r<=c(3) & r > c(2))+4*(r<=c(4) & r > c(3))switch Tagcase 1
s=[s 'A'];case 2
s=[s 'T'];case 3
s=[s 'C'];case 4
s=[s 'G'];end
![Page 35: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/35.jpg)
軟體實作與計算實驗 35
Sequence generation
Emulation of a generative model for creation of an atcg sequence
![Page 36: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/36.jpg)
軟體實作與計算實驗 36
FOR Loops
r=rand;switch r…end
input p,mn=length(p)p_sum=0;s=[];
for i=1:n
for j=1:m
p_sum=p_sum+p(i);c(i)=p_sum;
![Page 37: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/37.jpg)
軟體實作與計算實驗 37
Mixture model
pa
pt pc
pg
A T C G
Flip-flop
pa
pt pc
pg
A T C G
Flip-flop1 2
![Page 38: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/38.jpg)
軟體實作與計算實驗 38
Mixture model
According to probabilities, and
each time one of two joined models is selected to generate a character
Created characters are collected to form an atcg sequence
1 2
![Page 39: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/39.jpg)
軟體實作與計算實驗 39
Hidden Markov model
1 2
pa
pt pc
pg
A T C G
pa
pt pc
pg
A T C G
11 21
22
12
![Page 40: 軟體實作與計算實驗 1 Roots of nonlinear functions Nested FOR loops Lecture 5II](https://reader033.vdocuments.site/reader033/viewer/2022061511/56649c755503460f94928ce6/html5/thumbnails/40.jpg)
軟體實作與計算實驗 40
Transition probability
2221
1211