Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
02.05.2014
Размер:
527.87 Кб
Скачать

29. Графическое моделирование функции

Задача:

Написать подпрограмму-функцию, которая моделирует функцию, заданную графически.

Описываем математическую модель этого графика:

Входные величины – всё то, что нам необходимо, чтобы при любом Х получить Y. В этот список включаем Х1, Х2, Х3,Y1.

С Подпрограмма

FUNCTION GRF(X,X1,X2,X3)

Y1=X2*X2

R=Y1

IF(X.LE.X1.OR.X.GT.X3+R) GRF=0.

IF(X.GT.X1.AND.X.LT.X2) GRF=Y1*(X–X1)/(X2–X1)

IF(X.LE.0.AND.X.GE.X2) GRF=X**2

IF(X.GT.0.AND.X.LT.X3) GRF=Y1

IF(X.GE.X3.AND.X.LE.X3+R) THEN

P=2.*Y1

B=(X3+R–X)**2

Q=B–R*R+Y1**2

GRF=P/2.–SQRT(P*P/4.–Q)

ELSE

END IF

RETURN

END

Используя подпрограмму-функцию, получить массив значений и построить график этой функции.

DIMENSION Y(1000)

WRITE (6,*)’Введите значения Хнач, Хкон, шаг, X1, X2, X3’

READ (5,*) XN,XK,DX,X1,X2,X3

Вычисляем количество точек

N=(XKXN)/DX+1

Уточняем значение шага DX

DX=(XKXN)/(N–1)

X=XN

DO 2 I=1,N

Обращаемся к подпрограмме-функции и определяем значение Y

Y(I)=GRF(X,X1,X2,X3)

WRITE (6,*)’При Х=’,X,’ Y=’,Y(I)

2 X=X+DX

CALL GRAF(Y,N)

Подпрограмма вывода графика по значениям массива Y размерностью N.

STOP

END

32

Соседние файлы в папке Программирование на Фортране