REDUCE Computer Algebra System : ABC

From mmmv_kos
Jump to: navigation, search

Muutujad

b:=44;
a:=4b;

Kui soov on konsoolile mitte kuvada, siis tuleb semikooloni asemel kasutada dollari märki.

b:=44$
a:=4b$


Kommentaarid

a:=4; % see on kommentaar


Funktsioonid

% tuim tekstiasendus, kus 
% vasakul oleva "ammuu"-ga t2histatakse
% "=>" operaatorist paremale j22vat teksti,
% ilma, et tekstide sisu yldse parsitaks:
    operator ammuu$
    let ammuu => ihaa_krooks_pr22ks_pr66ks;

% klassikaline funktsiooni defineerimine, kus
% kasutatakse ka teksti parsimist. Funktsiooni
% formaalsed parameetrid, nii6elda vabad muutujad, 
% markeeritakse tildega:

    operator ihii$
    let ihii(~x) => x^4;

    % Tulemuse demo:
    ihii(ammuu);
    % kuvab mingi kuju valemist
    % ihaa_krooks_pr22ks_pr66ks^4

    plot(sin(x),x=(-4 .. 4)); % kus sin(x) on valem


Matriksid

a:=mat((42,69),(1984,22));
a(2,1):=2010;
cc:=rank(a); % astak
b:=tp(a); % transponeerib
p66rdmaatriks:=1/a; % kus a on maatriks
determinant:=det(a);


Valemid

Valemid on eraldi andmetüüp. Neid saab teisendada, jne.

let valemileviitavmuutuja = sin(x);
df(valemileviitavmuutuja,x); % leiab tuletise
int(valemileviitavmuutuja,x); % leiab integraali


Võrrandisüsteemide lahendamisel on oluline, et avaldatavate muutujate loetelus oleks "piisavalt palju" muutujad kirjas, sest vastupidisel juhul kuvatakse tulemuseks $\emptyset$.

% solve({v8rrandite komaeraldatud loetelu},{avaldatavate muutujate komaeraldatud loetelu});
solve({x1^2+x2=44,x3*x1+7=99},{x1,x2,x3});
solve({x1^2+x2=44,x3*x1+7=99},{x1,x2});
solve({x1^2+x2=44,x3*x1+7=99},{x1});


Töörežiimid

on rounded;   % valemite asemel arvutatakse arvulised väärtused välja
off rounded;  % arvuliste väärtuste asemel kasutatakse analüütilist kuju


Sisend-Väljund

REDUCE'i koodi konsoolilt jooksutamisel tuleb REDUCE'le 1. konsooliargumendiks anda tekstifaili rada, kus kood asub. Konsoolilt jooksutatava REDUCE koodis kirjutada arvutustulemused eraldi tekstifaili.

out "failinimi";
off nat$ % analüüsimiskõlbliku väljund-süntaksi sisse-lülitamine
% siin teeme midagi
shut "failinimi"
on nat$ % inimloetava väljund-süntaksi sisse-lülitamine