主题:谁能将这个Qbasic程序翻译成matlab语言?
谁能将这个程序翻译成matlab语言,不胜感激!
QQ:345857693
Email:lihaimin1955@yahoo.com.cn
4.单摆运动的分岔的Qbasic计算程序
方程:
REM Chaos BIFURCATION Diagram 03
CLS
SCREEN 12
VIEW (1, 33)-(630, 460), 0
WINDOW (1, 17)-(630, 470)
LINE (5, 20)-STEP(0, 400)
CIRCLE (5, 2 * 100 + 200), 2, 10
PAINT (5, 2 * 100 + 200), 10, 10
CIRCLE (5, 200), 2, 12
PAINT (5, 200), 12, 12
kk = 20
NN = 64
DIM y(kk)
c1 = .5: c3 = 2 / 3
PI = 3.14159: t = 2 * PI / c3
c2 = .98: n = 1
DEF FNF1 (x, y2) = y2
DEF FNF2 (x, y1, y2) = -c1 * y2 - SIN(y1) + c2 * COS(c3 * x)
H = t / NN
f1: b = .3
f4: y1 = .1: y2 = 0
j = 0
x = 0
y1 = y1 + b: y2 = 0
IF y1 > 1.6 THEN GOTO f3
FOR k = 1 TO kk
IF INKEY$ = "x" THEN GOTO f2
FOR i = 1 TO NN
IF INKEY$ = "x" THEN GOTO f2
K1 = H * FNF1(x, y2)
l1 = H * FNF2(x, y1, y2)
K2 = H * FNF1(x + H / 2, y2 + l1 / 2)
L2 = H * FNF2(x + H / 2, y1 + K1 / 2, y2 + l1 / 2)
K3 = H * FNF1(x + H / 2, y2 + L2 / 2)
L3 = H * FNF2(x + H / 2, y1 + K2 / 2, y2 + L2 / 2)
K4 = H * FNF1(x + H, y2 + L3 / 2)
L4 = H * FNF2(x + H, y1 + K3 / 2, y2 + L3 / 2)
y1 = y1 + (K1 + 2 * (K2 + K3) + K4) / 6
y2 = y2 + (l1 + 2 * (L2 + L3) + L4) / 6
x = x + H
IF i = 8 THEN y(j) = y2
NEXT i
j = j + 1
NEXT k
PSET (.0005 * n * 2000 + 10, y(kk - 1) * 100 + 200), 15
b = b + .3
GOTO f4
f3: c2 = c2 + .0005
n = n + 1
IF c2 <= 1.2 THEN GOTO f1
f2: END
QQ:345857693
Email:lihaimin1955@yahoo.com.cn
4.单摆运动的分岔的Qbasic计算程序
方程:
REM Chaos BIFURCATION Diagram 03
CLS
SCREEN 12
VIEW (1, 33)-(630, 460), 0
WINDOW (1, 17)-(630, 470)
LINE (5, 20)-STEP(0, 400)
CIRCLE (5, 2 * 100 + 200), 2, 10
PAINT (5, 2 * 100 + 200), 10, 10
CIRCLE (5, 200), 2, 12
PAINT (5, 200), 12, 12
kk = 20
NN = 64
DIM y(kk)
c1 = .5: c3 = 2 / 3
PI = 3.14159: t = 2 * PI / c3
c2 = .98: n = 1
DEF FNF1 (x, y2) = y2
DEF FNF2 (x, y1, y2) = -c1 * y2 - SIN(y1) + c2 * COS(c3 * x)
H = t / NN
f1: b = .3
f4: y1 = .1: y2 = 0
j = 0
x = 0
y1 = y1 + b: y2 = 0
IF y1 > 1.6 THEN GOTO f3
FOR k = 1 TO kk
IF INKEY$ = "x" THEN GOTO f2
FOR i = 1 TO NN
IF INKEY$ = "x" THEN GOTO f2
K1 = H * FNF1(x, y2)
l1 = H * FNF2(x, y1, y2)
K2 = H * FNF1(x + H / 2, y2 + l1 / 2)
L2 = H * FNF2(x + H / 2, y1 + K1 / 2, y2 + l1 / 2)
K3 = H * FNF1(x + H / 2, y2 + L2 / 2)
L3 = H * FNF2(x + H / 2, y1 + K2 / 2, y2 + L2 / 2)
K4 = H * FNF1(x + H, y2 + L3 / 2)
L4 = H * FNF2(x + H, y1 + K3 / 2, y2 + L3 / 2)
y1 = y1 + (K1 + 2 * (K2 + K3) + K4) / 6
y2 = y2 + (l1 + 2 * (L2 + L3) + L4) / 6
x = x + H
IF i = 8 THEN y(j) = y2
NEXT i
j = j + 1
NEXT k
PSET (.0005 * n * 2000 + 10, y(kk - 1) * 100 + 200), 15
b = b + .3
GOTO f4
f3: c2 = c2 + .0005
n = n + 1
IF c2 <= 1.2 THEN GOTO f1
f2: END