Mathematica 5.0
Select messages from
# through # FAQ
[/[Print]\]

Forum@DeGiorgi -> Čistilište

#1: Mathematica 5.0 Autor/ica: PiT_Bull PostPostano: 15:08 sri, 24. 6. 2009
    —
Kreirajte paket sa funkc. ciji je argument kvadratna matrica
proizvoljnog reda. Funkcija kao vrijednost daje TRUE ili FALSE ovisno o tome
da li je matrica stohasticka (zbroj elemenata u svakom retku je 1) ili ne.
Pokazite na primjeru da to radi...


to bi mi trebalo..
pa ako itko zna da mi pomogne rjesiti zadatak..
sto ja zapravo neznam je to kako bi ucitao u package listu koja u sebi sadrzi matricu..
eto
pa ako mi itko moze pomoci bilo bi mi od velike pomoci Very Happy
hvala..

#2:  Autor/ica: goranm PostPostano: 15:50 sri, 24. 6. 2009
    —
Napisati paket sa funkcijama ti je u principu ista stvar kao i kada pišeš funkcije u notebooku.

Nije mi jasno zašto pisati čitav paket za samo jednu funkciju, no svejedno:

otvoriš novi paket (file - new - new package) i započneš sa

Kod:
BeginPackage["ImePaketa`"]


Recimo da već imaš u vidu kako bi izgledala funkcija koja provjerava da li je matrica stohastička, npr.
Kod:
StohastickaM[matrica_List]:=If[...


Ispod BeginPackage možeš definirati koje poruke da Mathematica izbacuje pri različitim upitima. Ako napišeš npr:
Kod:
StohastickaM::usage="Funkcija StohastickaM vraca True ako je matrica stohasticka, a inace False."

Ako takvo što definiraš u svom paketu, na upit ?StohastickaM će se u bilokojem notebooku koji ima učitan tvoj paket pojaviti poruka "Funkcija StohastickaM vraca True ako je matrica stohasticka, a inace False."

Zatim, možeš iskoristiti slijedeće:
Kod:
Unprotect[StohastickaM]

za slučaj da negdje već postoji definirana funkcija istog imena. Mathematica ne voli kada se nešto nazove po već postojećoj funkciji pa ovom naredbom kažeš da se ignoriraju (ako postoje) funkcije tog imena.

Zatim upišeš
Kod:
Begin["`Private`"]

Ispod tog Begina upisuješ funkcije koje će se nalaziti u paketu. Znači tu ide definicija tvoje funkcije
Kod:
StohastickaM[matrica_List]:=If[...


Kada si završio upisivanje svih funkcija koje misliš da bi tvoj paket trebao sadržavati, završiš sa
Kod:
End[];
Protect[StohastickaM];
EndPackage[]


Sve skupa to bi trebalo izgledati ovako:
Kod:
(*Proizvoljni komentari, poput naslova, autora, opisa paketa itd*)

BeginPackage["ImePaketa`"]

StohastickaM::usage="Funkcija StohastickaM vraca True ako je matrica stohasticka, a inace False."

Unprotect[StohastickaM];

Begin["`Private`"]

StohastickaM[matrica_List]:=If[... , Return[True], Return[False]];

End[];

Protect[StohastickaM];

EndPackage[]


Taj paket sačuvaš u direktorij koji je u Mathematici predviđen za spremanje paketa, otvoriš novi notebook i pozoveš svoj paket. Nakon toga možeš koristiti funkciju StohastickaM kao da si ju definirao u notebooku.

#3:  Autor/ica: PiT_Bull PostPostano: 15:58 sri, 24. 6. 2009
    —
super... hvala..
ali ja bi jos jednu stvar trebao poslati uz listu matrice..
a to je kolika je matrica..
treba biti n x n
a taj n bi isto trebao imati u package.u jer moran imati dvi for petlje s kojima bi isa kroz elemente matrice po redcima tako da ih zbrajam i provjeravam je li zbroj jednak 1
pa ako je onda ispis true.. else false ...
pa zato mogu znaci listu poslati u package preko funkcije..
pa da pri pozivu funkcije koristim listu..
ali kako bi onda taj n poslao u package.

#4:  Autor/ica: goranm PostPostano: 16:19 sri, 24. 6. 2009
    —
Ako sam dobro shvatio, možeš u paketu funkciju StohastickaM definirat kao
Kod:
StohastickaM[matrica_List, n_Integer]

pri čemu matrica predstavlja listu, a n je cijeli broj. Dodatak _List i _Integer služe tome da Mathematica očekuje da će argument matrica biti lista, a n cijeli broj - ako bar jedno od toga nije odgovarajućeg tipa, funkcija se neće izvršiti.

No mislim da nije potrebno učitavat duljinu liste; jednostavno se n unutar funkcije zamijeni sa duljinom prvog retka, odnosno sa Length[matrica[[1]]], pa se obje petlje vrte od 1 do Length[matrica[[1]]] jer svi retci imaju jednak broj elemenata.

#5:  Autor/ica: PiT_Bull PostPostano: 17:20 sri, 24. 6. 2009
    —
puno ti hvala.. nisam ni znao da se to moze..
tek sam poceo raditi i to mi je neki zadatak za domaci iz praktikuma..
pa eto
hvala ti puno..

#6: Tebam pomoć Autor/ica: girl_00 PostPostano: 21:54 pon, 29. 6. 2009
    —
Molim vas za pomoć! Radi se o jednakosti kompleksnih brojeva. Ne mogu nikako shvatiti sljedeći zadatak: odredi realne brojeve a i b iz jednakosti: a - b + 5i = 1 + (a + b)i Jel mi može netko objasniti postupak?....i kako se uopće izjednaćavaju kompleksni brojevi? Hvala unaprijed!!!

#7:  Autor/ica: Gergonne PostPostano: 22:36 pon, 29. 6. 2009
    —
Mislim da ovo pitanje nema veze s temom pod kojom je postavljeno Confused, pa bi ga možda trebalo prebaciti u neku drugu temu.

Označimo li

z1 = a - b + 5*i, z2 = 1 + (a + b)*i,

onda jednakost z1 = z2 vrijedi ako i samo ako istodobno vrijede obje sljedeće jednakosti

Re(z1) = Re(z2) i Im(z1) = Im(z2),

gdje je Re(z1) realni dio broja z1, Re(z2) realni dio broja z2, Im(z1) imaginarni dio broja z1, a Im(z2) imaginarni dio broja z2.

Budući da je

Re(z1) = a - b, Re(z2) = 1, Im(z1) = 5, Im(z2) = a + b,

dobiva se sljedeći sustav dviju linearnih jednadžbi s dvije nepoznanice:

a - b = 1
a + b = 5.

Njegovo je rješenje a = 3, b = 2.



Forum@DeGiorgi -> Čistilište


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Stranica 1 / 1.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin