Discussion:
Maxima CAS
(prestaro za odgovor)
Vedran
2008-07-14 08:01:27 UTC
Permalink
Pozdrav!

U Maximu sam upisao:

/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/

/* [wxMaxima: input start ] */
b(SNR, K) := (SNR-K)/3;
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
H:matrix([H11,H12,H13],[H21,H22,H23],[H31,H32,H33]);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
P:transpose(matrix([P1,P2,P3]));
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
k:0.6;
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
FSAN(H,P,k,i):=(sum((H[j,i]*P[j])^(1/k),j,1,length(P))-(H[i,i]*P[i])^(1/k)
+AWGN^(1/k))^k;
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
SNR[i](H,P,k):=(P[i]*H[i,i])/FSAN(H,P,k,i);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
SNR[1](H,P,k);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
FSAN(H,P,k,2);
/* [wxMaxima: input end ] */

/* Maxima can't load/batch files which end with a comment! */
"Created with wxMaxima"$

Ovo gore se može copy-pastat u neki tekst file i učitati u Maximi.

Greška se javlja kada upišem liniju:
SNR[1](H,P,k);
`length' called on atomic symbol P
#0: FSAN(h=H,p=P,k=k,i=1)
#1: lambda([i],lambda([H,P,k],P[i]*H[i,i]/FSAN(H,P,k,i)))(i=1)
-- an error. To debug this try debugmode(true);

Zgodno je zamjetiti da linija:
FSAN(H,P,k,2);

sasvim normalno radi.

Nije mi jasno zbog čega pozivanje FSAN radi, a kada istu funkciju pozovem
iz funkcije SNR javlja grešku. Meni se čini da bi trebalo kao argument
prosljediti P sa nekim znakom ispred ili iza, jer mi se čini da Maxima
argtument P nekako pretvori u neki drugi tip, iz tko zna kojeg razloga.

Ja sam očito krivo definirao funkcije, pa bi bilo super kad bi mi netko
objasnio u čemu je greška, jer ja zaista nemam ideje kako bi ovo rješio.


pozdrav,
Vedran
MathManiac
2008-07-14 09:08:10 UTC
Permalink
Baš sam sad pogledao što je Maxima; na screenshotovima jako lijepo izgleda.
:-) Vidim, sprema se RP3. :-)

Ipak, ako ti ovdje nitko ne odgovori, možda da postaviš pitanje, dakako na
engleskom, u grupi
sci.math.symbolic
jer tamo povremeno netko postavi neko pitanje u vezi tog softvera.
Loading...