Tehtävä 1

Yksinkertaisinta laskea kaikki summat kerralla taulukkoon:

In[1]:=

ratk4_1.gif

Out[1]=

ratk4_2.gif

Funktio FactorInteger jakaa luvun tekijöihin. Sillä on attribuutti Listable, jolloin se voidaan kohdistaa suoraan listaan:

In[2]:=

ratk4_3.gif

Out[2]=

ratk4_4.gif

Tuloksena saadaan kunkin luvun osalta lista alkutekijöistä ja jokaisen kohdalla luku, joka osoittaa tekijän potenssin :

In[3]:=

ratk4_5.gif

Out[3]=

ratk4_6.gif

Tuloksena saadaan kolminkertainen lista, joka on hieman vaikealukuinen. Se voidaan kuitenkin tulostaa selkeämpään muotoon:

In[4]:=

ratk4_7.gif

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]:=

ratk4_8.gif

Out[5]=

ratk4_9.gif

Tehtävä 2

Muodostetaan lista lukuja välillä 0-90 astetta:

In[6]:=

ratk4_10.gif

Out[6]=

ratk4_11.gif

Lasketaan vastaavat sinin ja kosinin arvot numeerisesti:

In[7]:=

ratk4_12.gif

Out[7]=

ratk4_13.gif

In[8]:=

ratk4_14.gif

Out[8]=

ratk4_15.gif

Taulukko:

In[9]:=

ratk4_16.gif

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]:=

ratk4_17.gif

Out[10]=

ratk4_18.gif

Sen matriisimuotoinen esitys (jolloin muuttujaa matriisi ei muuteta, vaan se ainoastaan tulostetaan eri muodossa):

In[11]:=

ratk4_19.gif

Out[11]//MatrixForm=

ratk4_20.gif

Tehtävä 4

Haetaan 20 ensimmäistä alkulukua:

In[12]:=

ratk4_21.gif

Out[12]=

ratk4_22.gif

Otetaan edellisen taulukon alkiot järjestysluvuiksi ja haetaan näitä vastaavat alkuluvut:

In[13]:=

ratk4_23.gif

Out[13]=

ratk4_24.gif

Koska funktio Prime on Listable, päästään helpommallakin:

In[14]:=

ratk4_25.gif

Out[14]=

ratk4_26.gif

Tehtävä 5

Syötetään annetut vektorit:

In[15]:=

ratk4_27.gif

Funktiolla Solve voidaan ratkaista myös vektoriyhtälöitä:

In[16]:=

ratk4_28.gif

Out[16]=

ratk4_29.gif

Komponentit ovat

In[17]:=

ratk4_30.gif

Out[17]=

ratk4_31.gif

ja näiden summa on todellakin c:

In[18]:=

ratk4_32.gif

Out[18]=

ratk4_33.gif

Tehtävä 6

Syötetään annetut pisteet:

In[19]:=

ratk4_34.gif

Muodostetaan kulman kylkiä esittävät vektorit:

In[20]:=

ratk4_35.gif

Out[20]=

ratk4_36.gif

In[21]:=

ratk4_37.gif

Out[21]=

ratk4_38.gif

Lasketaan kulman puolittajan suuntavektori eo. vektoreiden suuntaisten yksikkövektoreiden summana:

In[22]:=

ratk4_39.gif

Out[22]=

ratk4_40.gif

Vastaava yksikkövektori (vektorin pituuden laskemiseen on myös käytettävissä funktio Norm):

In[23]:=

ratk4_41.gif

Out[23]=

ratk4_42.gif

Ehkä tämä on informatiivisempi numeerisena:

In[24]:=

ratk4_43.gif

Out[24]=

ratk4_44.gif

In[25]:=

ratk4_45.gif

Out[25]=

ratk4_46.gif

Tehtävä 7

Syötetään annetut avaruuden tason pisteet:

In[26]:=

ratk4_47.gif

Lasketaan niiden väliset vektorit. Nimet viittaavat annettuihin pisteisiin.

In[27]:=

ratk4_48.gif

Tasoa vastaan kohtisuora vektori saadaan ristitulolla:

In[28]:=

ratk4_49.gif

Out[28]=

ratk4_50.gif

Vastaava yksikkövektori:

In[29]:=

ratk4_51.gif

Out[29]=

ratk4_52.gif

Kuvakin voidaan tehdä. Miten tästä näkee, onko tulos oikea?

In[30]:=

ratk4_53.gif

Out[30]=

ratk4_54.gif

Tehtävä 8

In[31]:=

ratk4_55.gif

Syötetään annettu suora:

In[32]:=

ratk4_56.gif

In[33]:=

ratk4_57.gif

Out[33]=

ratk4_58.gif

Annettu taso:

In[34]:=

ratk4_59.gif

Out[34]=

ratk4_60.gif

Leikkauspiste:

In[35]:=

ratk4_61.gif

Out[35]=

ratk4_62.gif

In[36]:=

ratk4_63.gif

Out[36]=

ratk4_64.gif

Tehtävä 9

Muodostetaan kolmion kärkipisteet:

In[37]:=

ratk4_65.gif

Out[37]=

ratk4_66.gif

Out[38]=

ratk4_67.gif

Out[39]=

ratk4_68.gif

Korkeusjanojen AC ja BC leikkauspisteen paikkavektori:

In[40]:=

ratk4_69.gif

Out[40]=

ratk4_70.gif

Sivuille AC ja BC piirrettyjen korkeusjanojen kohtisuoruusehdot:

In[41]:=

ratk4_71.gif

Out[41]=

ratk4_72.gif

In[42]:=

ratk4_73.gif

Out[42]=

ratk4_74.gif

Onko kolmas kohtisuoruusehto voimassa? Funktio Simplify voi saada kaksi argumenttia: ensimmäisenä sievennettävä lauseke, toisena oletuksena oleva ehto:

In[43]:=

ratk4_75.gif

Out[43]=

ratk4_76.gif

Lause on siis todistettu algebrallisesti!

Tehtävä 10

Lähtökohdat:

In[44]:=

ratk4_77.gif

In[45]:=

ratk4_78.gif

In[46]:=

ratk4_79.gif

Kerroinvektori:

In[47]:=

ratk4_80.gif

Out[47]=

ratk4_81.gif

Funktion arvot:

In[48]:=

ratk4_82.gif

Out[48]=

ratk4_83.gif

Integraalin likiarvo:

In[49]:=

ratk4_84.gif

Out[49]=

ratk4_85.gif

Ja sitten kaikki pyydetyt arvot kerralla:

In[50]:=

ratk4_86.gif

Out[50]=

ratk4_87.gif

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]:=

ratk4_88.gif

Out[51]=

ratk4_89.gif

Spikey Created with Wolfram Mathematica 7.0