|
Вывод формулы линейной экстраполяции
|
|||
---|---|---|---|
#18+
помогите решить задачу на языке программирования VFP ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 19:16 |
|
Вывод формулы линейной экстраполяции
|
|||
---|---|---|---|
#18+
kety_vodila, SET DECIMALS TO 10 n=10 DIMENSION f(n),z(n) h=0.1 FOR i=1 TO n z(i)=(i-1)*h x=z(i) f(i)= SIN(5*x) ENDFOR a=0.05 b=2 sh = 0.005 x1=0.05 _screen.Cls FOR x=a TO b-sh STEP sh*2 x1=x x2=x+sh f1 = SIN(5*x1) f2 = SIN(5*x2) _screen.Line(xe(x1),ye(f1),xe(x2),ye(f2)) g1=интерполяция(x1,@f,@z,n) g2=интерполяция(x2,@f,@z,n) _screen.line(xe(x1),ye(g1),xe(x2),ye(g2)) WAIT WINDOW 1 ENDFOR PROCEDURE интерполяция PARAMETERS x,f,z,n DIMENSION f(n),z(n) LOCAL k,a,b FOR k=1 TO n-1 DO CASE CASE x>=z(k) and x<=z(k+1) k1=k k2=k+1 EXIT CASE x>z(n) k1=n-1 k2=n EXIT ENDCASE ENDFOR a=(f(k1)-f(k2))/(z(k1)-z(k2)) b=f(k2)-a*z(k2) RETURN a*x+b FUNCTION xe PARAMETERS x RETURN 50 + x*400 ENDFUNC FUNCTION ye PARAMETERS y RETURN 200 - y*150 ENDFUNC ОНА У МЕНЯ ВРОДЕ БЫ И РАБОТАЕТ, ТОЛЬКО НЕ ЗНАЮ ПРАВИЛЬНО ИЛИ НЕТ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 19:37 |
|
|
start [/forum/topic.php?fid=41&fpage=107&tid=1585670]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 112ms |
0 / 0 |