Εισαγωγήστους Ηλεκτρονικούς...

Preview:

Citation preview

Εισαγωγή στουςΗλεκτρονικούςΥπολογιστές

Λεωνίδας Αλεξόπουλος

Λέκτορας ΕΜΠE-mail: leo@mail.ntua.gr

URL: http://users.ntua.gr/leo

3ο Μάθημα

1

Εισαγωγή στον επιστημονικόπρογραμματισμό

Μελάς Ιωάννης

Υποψήφιος Διδάκτορας ΕΜΠ

E-mail: melas@central.ntua.gr

Επίλυση αλγεβρικών εξισώσεωνστο MATLAB

Να επιλυθεί η εξίσωση

exp(x)-cos(x)-1=0

Στο x=[0,1]

Plotting

hold onfor i=0:0.01:1

plot(i,exp(i)-cos(i)-1,'b+')endhold off

Plotting

plot(0:0.001:1,exp(0:0.001:1)-cos(0:0.001:1)-1,'b+')

Ορισμός συναρτήσεων

Ορισμός συναρτήσεων

File->save as->f.m

Ορισμός inline συναρτήσεων

f=@(x) exp(x)-cos(x)-1;

Θεώρημα Bolzano

Μέθοδος της διχοτόμησης (bisection method)

~-0.2

Μέθοδος της διχοτόμησης (bisection method)

~+0.4

Μέθοδος της διχοτόμησης (bisection method)

~+0.05

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YES

NO

NO

YES

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YESNO

NO

YES

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YESNO

NO

YES

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YESNO

NO

YES

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YESNO

NO

YES

Recursion Οταν μια συνάρτηση καλεί τον εαυτό της

For loop

Υπολογισμός Αθροίσματος 1->100

Recursion

Μέθοδος της διχοτόμησης (bisection method)

a=lower boundc=upper bound

b=(a+c)/2

f(a)*f(b)<0 ?

c=ba=b

|a-c|<e ?

print b

YESNO

NO

YES

Recursion

Η συνάρτηση fsolve

Η συνάρτηση fsolve

Η ακολουθία Fibonacci

a(n)=a(n-1)+a(n-2), a(1)=2; a(2)=3;

Να υπολογιστουν οι πρώτοι 100 όροι της ακολουθίας Fn

Recommended