Страница 1 из 1

Как построить график функции

Добавлено: Пн июл 01, 2019 3:38 pm
tonyk
Здравствуйте!
Пытаюсь построить график функции по значениям их массивов. Ткните носом в ошибку, пожалуйста.

Код: Выделить всё

restart;
> N := 160; P := 4;
                                     160
                                      4
> X := array[1 .. P*N]; Y := array[1 .. P*N];
> fs := 50;
                                     50
> F := A*sqr(x); A := 1;
                                  A sqr(x)
                                      1
> for i from 0 to P*N-1 do X[i+1] := i; Y[i+1] := evalf(subs(x = i, F)) end do;
> plot(X, Y, x = 0 .. 100);
Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

Re: Как построить график функции

Добавлено: Пн июл 01, 2019 8:38 pm
Markiyan Hirnyk
Ваш код содержит не одну ошибку. Вот его исправление:

Код: Выделить всё

restart;
N := 160:
P := 4:
A := 1:
X := Vector(1 .. P*N):
Y := Vector(1 .. P*N):
F := A*sqrt(x):
for i from 0 to N*P - 1 do
    X[i + 1] := i;
    Y[i + 1] := eval(F, x = i);
end do:
plot(X, Y);

Re: Как построить график функции

Добавлено: Пн июл 01, 2019 9:33 pm
Kitonum
То же самое можно написать короче без циклов, если векторы задать как ниже в коде. Или даже ещё короче, т.к. фактически имеем очень простую функцию одной переменной, заданной на конечном множестве:

Код: Выделить всё

restart;
N := 160:
P := 4:
A := 1:
X := Vector(1 .. P*N, i->i-1):
Y := Vector(1 .. P*N, i->A*sqrt(i-1)):
plot(X, Y);

restart;
N := 160:
P := 4:
A := 1:
plot(A*sqrt(x), x=0..P*N-1);

Re: Как построить график функции

Добавлено: Вт июл 02, 2019 6:53 am
tonyk
О! Как лаконично! Я несколько лет не прикасался к Maple, многое забыл. Благодарю! Хороший пинок! Его-то мне и не хватало!