Tehtävä 1
Yksinkertaisinta laskea kaikki summat kerralla taulukkoon:
In[1]:=
Out[1]=
Funktio FactorInteger jakaa luvun tekijöihin. Sillä on attribuutti Listable, jolloin se voidaan kohdistaa suoraan listaan:
In[2]:=
Out[2]=
Tuloksena saadaan kunkin luvun osalta lista alkutekijöistä ja jokaisen kohdalla luku, joka osoittaa tekijän potenssin :
In[3]:=
Out[3]=
Tuloksena saadaan kolminkertainen lista, joka on hieman vaikealukuinen. Se voidaan kuitenkin tulostaa selkeämpään muotoon:
In[4]:=
Out[4]//TableForm=
1 | {{1,1}} |
5 | {{5,1}} |
14 | {{2,1},{7,1}} |
30 | {{2,1},{3,1},{5,1}} |
55 | {{5,1},{11,1}} |
91 | {{7,1},{13,1}} |
140 | {{2,2},{5,1},{7,1}} |
204 | {{2,2},{3,1},{17,1}} |
285 | {{3,1},{5,1},{19,1}} |
385 | {{5,1},{7,1},{11,1}} |
Funktiolla PrimeQ voidaan selvittää, onko kyseessä alkuluku. PrimeQ on myös Listable.
In[5]:=
Out[5]=
Tehtävä 2
Muodostetaan lista lukuja välillä 0-90 astetta:
In[6]:=
Out[6]=
Lasketaan vastaavat sinin ja kosinin arvot numeerisesti:
In[7]:=
Out[7]=
In[8]:=
Out[8]=
Taulukko:
In[9]:=
Out[9]//TableForm=
0 | 0. | 1. |
1 | 0.0174524 | 0.999848 |
2 | 0.0348995 | 0.999391 |
3 | 0.052336 | 0.99863 |
4 | 0.0697565 | 0.997564 |
5 | 0.0871557 | 0.996195 |
6 | 0.104528 | 0.994522 |
7 | 0.121869 | 0.992546 |
8 | 0.139173 | 0.990268 |
9 | 0.156434 | 0.987688 |
10 | 0.173648 | 0.984808 |
11 | 0.190809 | 0.981627 |
12 | 0.207912 | 0.978148 |
13 | 0.224951 | 0.97437 |
14 | 0.241922 | 0.970296 |
15 | 0.258819 | 0.965926 |
16 | 0.275637 | 0.961262 |
17 | 0.292372 | 0.956305 |
18 | 0.309017 | 0.951057 |
19 | 0.325568 | 0.945519 |
20 | 0.34202 | 0.939693 |
21 | 0.358368 | 0.93358 |
22 | 0.374607 | 0.927184 |
23 | 0.390731 | 0.920505 |
24 | 0.406737 | 0.913545 |
25 | 0.422618 | 0.906308 |
26 | 0.438371 | 0.898794 |
27 | 0.45399 | 0.891007 |
28 | 0.469472 | 0.882948 |
29 | 0.48481 | 0.87462 |
30 | 0.5 | 0.866025 |
31 | 0.515038 | 0.857167 |
32 | 0.529919 | 0.848048 |
33 | 0.544639 | 0.838671 |
34 | 0.559193 | 0.829038 |
35 | 0.573576 | 0.819152 |
36 | 0.587785 | 0.809017 |
37 | 0.601815 | 0.798636 |
38 | 0.615661 | 0.788011 |
39 | 0.62932 | 0.777146 |
40 | 0.642788 | 0.766044 |
41 | 0.656059 | 0.75471 |
42 | 0.669131 | 0.743145 |
43 | 0.681998 | 0.731354 |
44 | 0.694658 | 0.71934 |
45 | 0.707107 | 0.707107 |
46 | 0.71934 | 0.694658 |
47 | 0.731354 | 0.681998 |
48 | 0.743145 | 0.669131 |
49 | 0.75471 | 0.656059 |
50 | 0.766044 | 0.642788 |
51 | 0.777146 | 0.62932 |
52 | 0.788011 | 0.615661 |
53 | 0.798636 | 0.601815 |
54 | 0.809017 | 0.587785 |
55 | 0.819152 | 0.573576 |
56 | 0.829038 | 0.559193 |
57 | 0.838671 | 0.544639 |
58 | 0.848048 | 0.529919 |
59 | 0.857167 | 0.515038 |
60 | 0.866025 | 0.5 |
61 | 0.87462 | 0.48481 |
62 | 0.882948 | 0.469472 |
63 | 0.891007 | 0.45399 |
64 | 0.898794 | 0.438371 |
65 | 0.906308 | 0.422618 |
66 | 0.913545 | 0.406737 |
67 | 0.920505 | 0.390731 |
68 | 0.927184 | 0.374607 |
69 | 0.93358 | 0.358368 |
70 | 0.939693 | 0.34202 |
71 | 0.945519 | 0.325568 |
72 | 0.951057 | 0.309017 |
73 | 0.956305 | 0.292372 |
74 | 0.961262 | 0.275637 |
75 | 0.965926 | 0.258819 |
76 | 0.970296 | 0.241922 |
77 | 0.97437 | 0.224951 |
78 | 0.978148 | 0.207912 |
79 | 0.981627 | 0.190809 |
80 | 0.984808 | 0.173648 |
81 | 0.987688 | 0.156434 |
82 | 0.990268 | 0.139173 |
83 | 0.992546 | 0.121869 |
84 | 0.994522 | 0.104528 |
85 | 0.996195 | 0.0871557 |
86 | 0.997564 | 0.0697565 |
87 | 0.99863 | 0.052336 |
88 | 0.999391 | 0.0348995 |
89 | 0.999848 | 0.0174524 |
90 | 1. | 0. |
Tehtävä 3
Kyseessä on kaksinkertainen lista:
In[10]:=
Out[10]=
Sen matriisimuotoinen esitys (jolloin muuttujaa matriisi ei muuteta, vaan se ainoastaan tulostetaan eri muodossa):
In[11]:=
Out[11]//MatrixForm=
Tehtävä 4
Haetaan 20 ensimmäistä alkulukua:
In[12]:=
Out[12]=
Otetaan edellisen taulukon alkiot järjestysluvuiksi ja haetaan näitä vastaavat alkuluvut:
In[13]:=
Out[13]=
Koska funktio Prime on Listable, päästään helpommallakin:
In[14]:=
Out[14]=
Tehtävä 5
Syötetään annetut vektorit:
In[15]:=
Funktiolla Solve voidaan ratkaista myös vektoriyhtälöitä:
In[16]:=
Out[16]=
Komponentit ovat
In[17]:=
Out[17]=
ja näiden summa on todellakin c:
In[18]:=
Out[18]=
Tehtävä 6
Syötetään annetut pisteet:
In[19]:=
Muodostetaan kulman kylkiä esittävät vektorit:
In[20]:=
Out[20]=
In[21]:=
Out[21]=
Lasketaan kulman puolittajan suuntavektori eo. vektoreiden suuntaisten yksikkövektoreiden summana:
In[22]:=
Out[22]=
Vastaava yksikkövektori (vektorin pituuden laskemiseen on myös käytettävissä funktio Norm):
In[23]:=
Out[23]=
Ehkä tämä on informatiivisempi numeerisena:
In[24]:=
Out[24]=
In[25]:=
Out[25]=
Tehtävä 7
Syötetään annetut avaruuden tason pisteet:
In[26]:=
Lasketaan niiden väliset vektorit. Nimet viittaavat annettuihin pisteisiin.
In[27]:=
Tasoa vastaan kohtisuora vektori saadaan ristitulolla:
In[28]:=
Out[28]=
Vastaava yksikkövektori:
In[29]:=
Out[29]=
Kuvakin voidaan tehdä. Miten tästä näkee, onko tulos oikea?
In[30]:=
Out[30]=
Tehtävä 8
In[31]:=
Syötetään annettu suora:
In[32]:=
In[33]:=
Out[33]=
Annettu taso:
In[34]:=
Out[34]=
Leikkauspiste:
In[35]:=
Out[35]=
In[36]:=
Out[36]=
Tehtävä 9
Muodostetaan kolmion kärkipisteet:
In[37]:=
Out[37]=
Out[38]=
Out[39]=
Korkeusjanojen AC ja BC leikkauspisteen paikkavektori:
In[40]:=
Out[40]=
Sivuille AC ja BC piirrettyjen korkeusjanojen kohtisuoruusehdot:
In[41]:=
Out[41]=
In[42]:=
Out[42]=
Onko kolmas kohtisuoruusehto voimassa? Funktio Simplify voi saada kaksi argumenttia: ensimmäisenä sievennettävä lauseke, toisena oletuksena oleva ehto:
In[43]:=
Out[43]=
Lause on siis todistettu algebrallisesti!
Tehtävä 10
Lähtökohdat:
In[44]:=
In[45]:=
In[46]:=
Kerroinvektori:
In[47]:=
Out[47]=
Funktion arvot:
In[48]:=
Out[48]=
Integraalin likiarvo:
In[49]:=
Out[49]=
Ja sitten kaikki pyydetyt arvot kerralla:
In[50]:=
Out[50]=
Tässä (uloimman) Table-funktion ensimmäinen argumentti — puolipisteellä erotetut komennot — on CompoundExpression. Tällaisen voi aina kirjoittaa yhden komennon sijasta.
Valmiilla numeerisen integroinnin funktiolla tulos on
In[51]:=
Out[51]=