y' =
2 xy
x − y2
2
1.
> ham <- function (x, y,parms) {list(c((2*x)/(1+x^2)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
2.00
2.02
2.04
2.06
Truc y
2.08
2.10
2.12
PTVP
166
168
170
172
Truc x
2.
y '+ y = 4 x
174
176
> ham <- function (x, y,parms) {list(c(-y+4*x))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
0
100
200
300
Truc y
400
500
600
700
PTVP
166
168
170
172
174
Truc x
y '+2 xy = xe − x
2
3.
> ham <- function (x, y,parms) {list(c(-2*x*y+x*exp(-x^2)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
176
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
0.0
0.5
1.0
Truc y
1.5
2.0
PTVP
166
168
170
172
174
176
Truc x
4.
y '− y. sin x = sin x cos x
> ham <- function (x, y,parms) {list(c(y*sin(x)+sin(x)*cos(x)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
0.0
0.5
1.0
Truc y
1.5
2.0
PTVP
166
168
170
172
174
Truc x
y '+
5.
xy
= arcsin x + x
1− x2
> ham <- function (x, y,parms) {list(c(-(x*y)/(1-x^2)+asin(x)+x))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
There were 14 warnings (use warnings() to see them)
> warnings()
Warning messages:
176
1: In asin(x) : NaNs produced
2: In asin(x) : NaNs produced
3: In asin(x) : NaNs produced
4: In asin(x) : NaNs produced
5: In asin(x) : NaNs produced
6: In asin(x) : NaNs produced
7: In asin(x) : NaNs produced
8: In asin(x) : NaNs produced
9: In asin(x) : NaNs produced
10: In asin(x) : NaNs produced
11: In asin(x) : NaNs produced
12: In asin(x) : NaNs produced
13: In asin(x) : NaNs produced
14: In asin(x) : NaNs produced
y ' = 2 x( x 2 + y )
6.
> ham <- function (x, y,parms) {list(c(2*x*(x^2+y)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
DINTDY- T (=R1) illegal
In above message, R1 = 169
T not in interval TCUR - HU (= R1) to TCUR (=R2)
In above message, R1 = 168.077, R2 = 168.077
DINTDY- T (=R1) illegal
In above message, R1 = 170
T not in interval TCUR - HU (= R1) to TCUR (=R2)
In above message, R1 = 168.077, R2 = 168.077
DLSODA- Trouble in DINTDY. ITASK = I1, TOUT = R1
In above message, I1 = 1
In above message, R1 = 170
Error in lsoda(y, times, func, parms, ...) :
illegal input detected before taking any integration steps - see written message
7.
xy '−2 y = 2 x 2
> ham <- function (x, y,parms) {list(c((2*y)/x+2*x^3))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
0e+00
2e+07
4e+07
Truc y
6e+07
8e+07
1e+08
PTVP
166
168
170
172
174
Truc x
y '. 1 − x 2 + y = arcsin x
8.
,
y ∞=0 = 0
> ham <- function (x, y,parms) {list(c(-y/sqrt(1-x^2)+asin(x)/sqrt(1-x^2)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
There were 42 warnings (use warnings() to see them)
> warnings()
Warning messages:
176
1: In sqrt(1 - x^2) : NaNs produced
2: In asin(x) : NaNs produced
3: In sqrt(1 - x^2) : NaNs produced
4: In sqrt(1 - x^2) : NaNs produced
5: In asin(x) : NaNs produced
6: In sqrt(1 - x^2) : NaNs produced
7: In sqrt(1 - x^2) : NaNs produced
8: In asin(x) : NaNs produced
9: In sqrt(1 - x^2) : NaNs produced
10: In sqrt(1 - x^2) : NaNs produced
11: In asin(x) : NaNs produced
12: In sqrt(1 - x^2) : NaNs produced
13: In sqrt(1 - x^2) : NaNs produced
14: In asin(x) : NaNs produced
15: In sqrt(1 - x^2) : NaNs produced
16: In sqrt(1 - x^2) : NaNs produced
17: In asin(x) : NaNs produced
18: In sqrt(1 - x^2) : NaNs produced
19: In sqrt(1 - x^2) : NaNs produced
20: In asin(x) : NaNs produced
21: In sqrt(1 - x^2) : NaNs produced
22: In sqrt(1 - x^2) : NaNs produced
23: In asin(x) : NaNs produced
24: In sqrt(1 - x^2) : NaNs produced
25: In sqrt(1 - x^2) : NaNs produced
26: In asin(x) : NaNs produced
27: In sqrt(1 - x^2) : NaNs produced
28: In sqrt(1 - x^2) : NaNs produced
29: In asin(x) : NaNs produced
30: In sqrt(1 - x^2) : NaNs produced
31: In sqrt(1 - x^2) : NaNs produced
32: In asin(x) : NaNs produced
33: In sqrt(1 - x^2) : NaNs produced
34: In sqrt(1 - x^2) : NaNs produced
35: In asin(x) : NaNs produced
36: In sqrt(1 - x^2) : NaNs produced
37: In sqrt(1 - x^2) : NaNs produced
38: In asin(x) : NaNs produced
39: In sqrt(1 - x^2) : NaNs produced
40: In sqrt(1 - x^2) : NaNs produced
41: In asin(x) : NaNs produced
42: In sqrt(1 - x^2) : NaNs produced
y '−
9.
y
= x ln x,
x ln x
y ∞ =0 =
1 2
e
2
> ham <- function (x, y,parms) {list(c(y/log(x)+x*log(x)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 166:176, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
0
5000
10000
15000
Truc y
20000
25000
PTVP
166
168
170
172
Truc x
174
176