108
UNIVERZA V MARIBORU FAKULTETA ZA GRADBENIŠTVO, PROMETNO INŽENIRSTVO IN ARHITEKTURO Marcel Kuferšin Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java Projektna naloga univerzitetnega študijskega programa 1. stopnje Maribor, maj 2015

Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

  • Upload
    trannhi

  • View
    242

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

UNIVERZA V MARIBORU

FAKULTETA ZA GRADBENIŠTVO, PROMETNO INŽENIRSTVO IN

ARHITEKTURO

Marcel Kuferšin

Računalniško programiranje v

gradbeništvu z uporabo Texas Basic in Matlab Java

Projektna naloga

univerzitetnega študijskega programa 1. stopnje

Maribor, maj 2015

Page 2: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

Smetanova ulica 17 2000 Maribor, Slovenija

I

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Diplomski izpit univerzitetnega študijskega programa 1. stopnje

RAČUNALNIŠKO PROGRAMIRANJE V GRADBENIŠTVU Z UPORABO TEKSAS BASIC IN MATLAB JAVA

Študent: Marcel Kuferšin

Študijski program: Univerzitetni, Gradbeništvo

Mentor: doc. dr. Andrej Tibaut

Maribor, maj 2015

Page 3: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

II

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

RAČUNALNIŠKO PROGRAMIRANJE V GRADBENIŠTVU Z UPORABO TEXAS BASIC IN MATLAB JAVA

Ključne besede: gradbeništvo, programiranje, Texas basic, Nspire CAS, Matlab, Java.

Povzetek

Diplomsko delo obravnava osnovne elemente programskega jezika Texas Basic in

programskega jezika Java v Matlabu. Diplomsko delo se osredotoča na praktično uporabo

teh dveh programskih jezikov. Praktični primeri se stopnjujejo po zahtevnosti in

obravnavajo področja geotehnike, statike in mehanike linijskih elementov. Oba

programska jezika sta v splošnem primerna za gradbene inženirje. Diplomska naloga je

osnova za poglobljeno spoznavanje zakonitosti in zmogljivosti programskih jezikov ter

njihovo uspešno aplikacijo na področju gradbeništva.

Page 4: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

III

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

COMPUTER PROGRAMMING IN CIVIL ENGINEERING USING TEXAS BASIC AND MATLAB JAVA

Key words: civil engineering, programming, texas basic, nspire cas, matlab.

Abstract

The thesis will provide the reader with a basic explanation of two programming

languages, Texas Basic and Matlab's proprietary programming language similar to Java.

Introduction to the two languages will followwith practical examples from civil

engineering. With each example the syntax complexity will gradually rise. Despite the

complexity the syntax is appropriate for beginners and a good introduction to other more

advanced programming languages , like Java sinc it is similar to Matlab’s programming

language. The intention of this thesis is to introduce and explore practical use of

programming for a civil engineering professional.

Page 5: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

IV

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

VSEBINA

1 UVOD .............................................................................................................................. 1

Namen naloge ......................................................................................................... 1

Struktura poglavij .................................................................................................... 1

2 UVOD V PROGRAMIRANJE (TEXAS BASIC) ..................................................................... 3

2.1 Vnos nove funkcije .................................................................................................. 3

2.2 Vnos novega programa ........................................................................................... 3

2.3 Razlike med programi in funkcijami ....................................................................... 6

2.4 Podstrani dokumenta ter Lists & Spreadsheet ....................................................... 6

2.5 Splošno o operatorjih v okolju Texas Basic ............................................................. 9

2.6 Matrike in seznami ................................................................................................ 18

3 PRIMERI ........................................................................................................................ 20

3.1 Izračun notranjih statičnih količin krožnega dela nosilca. .................................... 20

3.2 H-Diagram in delta h ............................................................................................. 27

3.3 Izračun α koeficientov pri betonski plošči ............................................................ 30

4 OKOLJE MATLAB ........................................................................................................... 42

4.1 Uvod ...................................................................................................................... 42

4.2 Vmesnik ................................................................................................................. 44

4.3 Osnovni ukazi ........................................................................................................ 45

4.4 Ukazi za brisanje ................................................................................................... 45

4.5 Prikazovanje teksta in števil .................................................................................. 47

4.6 Definiranje............................................................................................................. 49

4.7 Vnos ...................................................................................................................... 50

4.8 If elseif else. For .................................................................................................... 51

Page 6: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

V

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

5 Primeri .......................................................................................................................... 52

5.1 Izračun jedra prereza ............................................................................................ 52

5.2 Preračun podpornega zidu ................................................................................... 60

6 ZAKLJUČEK .................................................................................................................... 95

7 VIRI IN LITERATURA ...................................................................................................... 97

8 PRILOGE ........................................................................................................................ 98

8.1 Seznam slik ............................................................................................................ 98

8.2 Seznam preglednic .............................................................................................. 100

8.3 Naslov študenta .................................................................................................. 100

8.4 Kratek življenjepis ............................................................................................... 100

Page 7: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

VI

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

UPORABLJENI SIMBOLI

𝜑 – kot pri krožnem delu konstrukcije

𝜑 – strižni kot zemljine

𝜑𝑑 – projektni strižni kot zemljine

Fx, Fy – sile

Q,q,p – zvezna obtežba

Xa, Ya, Xb, Yb – reakcije v podporah

N - notranja statična količina (osna)

V - notranja statična količina (prečna)

M - notranja statična količina (moment)

𝜈 – poissonov količnik

dh, Δh – razlika h diagramov

α – vplivni koeficient zaradi enotine obtežbe

Ez – elastični modul zemljine

Iy, Iz – vztrajnostni moment

Iyz – deviatorični vztrajnostni moment

𝑌𝑓, 𝑍𝑓 – koordinate jedra prereza

A – površina

iz, iy – vztrajnostni polmer

𝛾𝜑 , 𝛾𝑐, 𝛾𝑅;ℎ, 𝛾𝐺,𝑑𝑠𝑡, 𝛾𝐺,𝑠𝑡𝑏 – varnostni faktorji

𝛿𝑎,𝑝 – trenje med zidom in zaledno zemljino

𝐾𝑎𝑔,𝑝𝑔 - koeficient aktivnega oz. pasivnega zemeljskega pritiska

𝐾𝑎𝑐 – koeficient kohezijskega odpora

𝐸𝑎𝑔,𝑎𝑝 – aktivni zemeljski pritisk

Page 8: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

VII

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

𝑐𝑐 – faktorirana kohezija zemljine

𝐸𝑎𝑐 – rezultantni odpor zaradi kohezije

𝐻𝑑 - projektna vrednost rezultantne sile, ki deluje vzporedno z osnovo temelja

𝑉𝑑 - projektna vrednost rezultantne sile, ki deluje normalno na osnovo temelja

𝑅𝑑,𝑧𝑑𝑟𝑠 – odpor proti zdrsu, ki deluje vzporedno z osnovo temelja

𝛿𝑑 – trenje med osnovo temelja in zemljino

e – ekscentričnost

𝜎𝐿,𝐷, 𝜎𝑅 – kontaktne napetosti

𝑁𝑞, 𝑁𝑐, 𝑁𝛾 - brezdimenzijski faktorji za nosilnost

𝑏𝑞, 𝑏𝑐, 𝑏𝛾 - brezdimenzijski faktorji za naklon temelja

𝑠𝑞, 𝑠𝑐, 𝑠𝛾 - brezdimenzijski faktorji za obliko temelja

𝑖𝑞, 𝑖𝑐, 𝑖𝛾 - brezdimenzijski faktorji zaradi nagiba zaradi obtežbe Hd

Rd – nosilnost temeljnih tal

UPORABLJENE KRATICE

Ti – Texas instruments

NaN – Not a Number

CAS – computer aided software

Page 9: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

Smetanova ulica 17 2000 Maribor, Slovenija

1

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

1 UVOD

Namen naloge

Danes živimo v času, kjer nam na vsakem vogalu vsakdana potek življenja krojijo orodja in

naprave, ki jih upravljajo programi. Ta nov ekosistem, če mu lahko tako rečemo, je postalo

nepogrešljivo orodje s katerim pomagamo oblikovati svet, kjer seveda pomembno vlogo

igra gradbeništvo. S pomočjo programov in avtomatiziranih orodij, ki jih poganjajo

programi, gradimo in oblikujemo objekte, katerih v preteklosti ni bilo mogoče računsko

preveriti niti ne zgraditi z zagotovilom, da bo objekt zadostil trdnostim pogojem. V

zastavljeni nalogi se bomo tako predvsem ukvarjali z uvodom v svet programiranja in prikaz

nekaj pogostih računskih gradbenih problemov.

Za večino programskih rešitev praktične (ne znanstvene) narave, zadoščajo že funkcije in

principi, ki so opisani in prikazani v tem delu. Pri kreiranju programa je v grobem potrebno

misliti na tri stvari. Te so vnos (input), glavni del programa, kjer teče izračun in rezultat

(output). Pri pisanju zahtevnejših in daljših programov je zlasti pomemben pravilni vrstni

red definiranja in izvajanja funkcij in spremenljivk.

Pri pisanju programov je torej ključnega pomena zaporedje dogodkov. Pravilno delujoč

program je tako nepogrešljivo orodje pri izračunu ponavljajočih se problemov, ki so v

gradbeništvu pogosti in časovno zahtevni.

Namen naloge je torej, obravnava Texas Basic in Matlab, na osnovi praktičnih primerov iz

gradbeništva.

Struktura poglavij

Diplomska naloga je sestavljena iz osmih poglavij. Prvo in šesto poglavje sta uvod in

zaključek, vmes so 4 poglavja vsebine. Zadnji dve poglavji sta priloge in literatura.

Page 10: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

2

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- Prvo poglavje je uvod.

- Drugo poglavje je uvod v programiranje v Texas Basicu, kjer so opisani osnovni

elementi sintakse, uporaba preglednic in druge zakonitosti jezika.

- Tretje poglavje so programski primeri v Texas Basicu: izračun krožnega dela

konstrukcije, h oz. dh diagram in α koeficienti pri betonski plošči.

- Četrto poglavje je uvod v programiranje v Matlabu, kjer so obrazložene

najpogostejše funkcije in zakonitosti.

- Peto poglavje so programski primeri v Matlabu, ki zajemajo izračun jedra prereza z

grafičnim rezultatom ter izračun podpornega zidu, ki vsebuje grafični uporabniški

vmesnik in grafični rezultat. Slednji program je bistveno daljši od ostalih.

- Šesto poglavje je zaključek s splošno primerjavo obeh programskih okolij.

- Sedmo in osmo poglavje navajata literaturo in seznam slik in tabel.

Page 11: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

3

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

2 UVOD V PROGRAMIRANJE (TEXAS BASIC)

Tako imenovan Texas basic je programski jezik podjetja Texas Instruments. Uporablja se

za pisanje programov v sklopu njihove linije grafičnih kalkulatorjev Nspire CAS with

Touchpad in Nspire CX CAS.

Texas basic je napram drugim jezikom precej poenostavljen in uporabniško prijazen, dokler

gre za majhne programe. Zaradi tega je primeren za začetnike in za hitre programske

rešitve, če ne želimo dolgotrajnejšega privajanja na sintakso.

2.1 Vnos nove funkcije

Program lahko pišemo ali v kalkulatorju samem ali pa v TI-Nspire™ CAS Student Software

namiznem okolju za računalnik. Slednje je veliko preglednejše in bolj praktično. Resnih oz.

večjih programov je skoraj nemogoče pisati v kalkulatorju, ker je preglednost slaba zaradi

mahnega zaslona. Na samem kalkulatorju je praktično pisati le funkcije direktno v

calculator aplikaciji z ukazom Define.

V kalkulator jo vpišemo tako, kot je prikazano na

sliki 2.1. Uporabimo funkcijo Define, sledi ime iz, ki

je poljubno, v oklepaju sledita spremenljivki (širina

in višina nosilca) in še dejanska funkcija. S tipko

enter potrdimo definicijo funkcije. Takšne funkcije

lahko definiramo v aplikaciji calculator ali znotraj

programa in jo potem uporabljamo vedno znova

(kličemo znotraj programa).

2.2 Vnos novega programa

Na računalniku odpremo TI-Nspire CAS Student Software→File→New Ti Nspire Document

Computer page size→Add calculator→Insert→Program editor→New (slika 2.2) Že v tem

koraku ni vse samoumevno, saj se je potrebno držati pravil pisanja imen datotek in

programov. V splošnem rečeno, če program v tem oknu poimenujemo „hello world“ s

presledkom in če ga shranimo s tem imenom se ta ne bo pokazal v katalogu programov na

Slika 2.1: Funkcija define

Page 12: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

4

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

kalkulatorju. Zato si velja zapomniti, da se je treba presledkov v imenih izogibati oz.

uporabljati druge znake (npr. _). Torej program poimenujemo hello_world in datoteko

kasneje shranimo na enak način in bo program deloval. V drugem podmeniju izberemo ali

hočemo pisati program ali funkcijo.

V tretjem podmeniju izberemo vidnost programa. Če nastavimo na LibPub (library public),

bo program viden v katalogu programov. V nasprotnem primeru ne bo viden. Ko kliknemo

ok se okno na sliki 2.2 zapre in se znajdemo v praznem dokumentu, kjer je mogoče pisati

sintakso.

Slika 2.2: Okno za vnos novega programa

Page 13: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

5

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Program pišemo v vrsticah med Prgm in EndPrgm (slika 2.3). V oklepajih takoj za imenom

hello_world prve vrstice lahko definiramo vhodne vrednosti, na primer b in h, vendar

definicija ni obvezna. Za prvič napišemo: Disp "Hello World". Ko bomo program zagnali se

bo izpisalo na zaslonu „Hello World“. Funkcija Disp (Display) prikaže poljuben tekst ali

izraz, ki je znotraj narekovajev ””.

Pravtako pokaže rezultate nekega

računa.

Da spravimo program v delujoče

stanje moramo preveriti

pravilnost sintakse in ga shraniti v

katalog. To naredimo z desnim

klikom in klikom na check syntax

and store. Nato ga še moramo

shraniti (ctrl+s) s poljubnim

imenom, s tem, da pazimo pravila

poimenovanja: hello_world.

Končno še osvežimo knjižnico:

Tools→Refresh libraries.

Isti postopek shranjevanja

programa velja za namizno okolje

in za kalkulator.

Sedaj je program v katalogu, do katerega pridemo tako, da stisnemo gumb s simbolom

knjige na tipkovnici in pod zavihkom 6 najdemo program (slika 2.4). Če smo pisali program

na računalniku je ta shranjen samo na računalniku. Da ga shranimo na kalkulator gremo v:

File→Save to handheld. Shraniti ga moramo v My lib mapo na kalkulatorju, ker je to privzeta

Slika 2.3: Prvi program hello_world

Page 14: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

6

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

mapa za programe. Postopek dodajanja programa v knjižnico v kalkulatorju ponovimo, tako

kot na računalniku. Če poženemo program, dobimo (slika 2.5):

2.3 Razlike med programi in funkcijami

- -Funkcije je mogoče direktno predstaviti na grafu, programov ne.

- -Funkcije lahko algebrajično uporabljamo znotraj izrazov: 3*iz(2,5), programov ne

moremo

- -Programe lahko poganjamo le iz Calculator in Notes, funkcije pa lahko iz

Calculator, Notes, Lists &Spreadsheet, Graphs & Geometry, in Data & Statistics

- -Programi definirajo svoje spremenljivke globalno ali lokalno, kar pomeni, da je

neka vrednost znotraj programa zdaj tudi dostopna v Calculatorju.

- -Funkcija lahko kliče funkcijo, program lahko kliče funkcijo, ne more pa program

delovati znotraj funkcije

- -Funkcije so lokalne, kar pomeni, da če smo funkcijo definirali v Calculatorju, ta ni

definirana v programu ampak jo je potrebno znova definirati znotraj programa.

2.4 Podstrani dokumenta ter Lists & Spreadsheet

Vsako novo datoteko, ki jo odpremo lahko vsebuje več podstrani oz. aplikacij. Meni za

podstrani odpremo v levi orodni vrstici (Page sorter). Če programi in funkcije niso shranjene

v MyLib mapi, bodo dostopne le znotraj posameznega dokumenta. Dokumentu lahko

dodamo npr. stran za računanje (aplikacija Calculator), Program editor, kjer lahko pišemo

Slika 2.4: seznam programov Slika 2.5: Rezultat programa

Page 15: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

7

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

programe in funkcije, stran s preglednicami, kjer hranimo vhodne in izhodne vrednosti

(slika 2.6), aplikacijo za grafe itd.

Kot rečeno, lahko v preglednicah uporabljamo le funkcije, saj programov ne podpira. Liste

vrednosti, ki jih vnesemo v preglednico lahko nato uporabimo v funkcijah in programih, pri

čemer se programi lahko izvajajo le v Calculatorju.

Ko naslavljamo vrednosti iz preglednice preprosto napišemo: ali[1], kar pomeni, da želimo

uporabiti prvi člen iz stolpca A, imenovanega „ali“ (slika 2.7). Če delamo izračun direktno v

preglednici, potem uporabljamo podobne oznake kot v excelu: a1:a5, a1$, a$1. Oznaka a$1

fiksira vrednost, ki je v celici a1, a1$ je pa enak simbolu „a1“.

Slika 2.6: Preglednica in podstrani na levi strani

Page 16: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

8

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 2.7:Podstran za pisanje programov (program editor) v dokumenu

Page 17: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

9

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

2.5 Splošno o operatorjih v okolju Texas Basic

Našteli bomo nekaj najpogostejših operatorjev (funkcij), s katerimi oblikujemo program.

Velja še omeniti, da Texas basic pri pravilnosti sintakse ni občutljiv na velike in male

začetnice, saj če napišemo disp se pri preverjanju samodejno popravi v Disp. V sintaksi tudi

ne moremo vseh ukazov nizati drugega za drugim v isti vrstici ampak jih je potrebno vnesti

v naslednjo vrstico.

Nekaj pogostih funkcij:

- Disp

Ukaz Disp (display), prikaže poljuben tekst ali rezultat računskega postopka. V

programu se rezultati ne izpišejo avtomatsko kot pri funkcijah, zato je potrebno

uporabiti ukaz Disp. Uporablja se tudi ukaz Text in v drugih jezikih Print.

Pri prvem Disp na sliki 2.8 se samo izpiše tekst

„Hello World“. Takoj za ukazom Disp mora biti

presledek in predvideni tekst v narekovajih.

Pri drugem primeru nam Disp pokaže rezultat

a+b. Uporaba narekovajev je nujna samo za

tekst. Pravtako, če pišemo komentarje v

programih, jih damo v narekovaje, da jih ločimo

od sintakse.

V tretjem primeru se nam izpiše: „Vztrajnostni moment Iz je“ in takoj za tem še vrednost

spremenljivke iz. Številčna vrednost iz se komentarju pripne tako, da takoj za narekovaji

postavimo vejico in spremenljivko iz, ki je vrednost nekega vztrajnostnega momenta.

Slika 2.8: Uporaba disp funkcije

Page 18: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

10

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- := (store)

Store (:=) je eden izmed najbolj uporabljanih

znakov na splošno. Z njim priredimo

spremenljivki neko vrednost ali izraz.

Spremenljivki, ki ji poljubno dodelimo ime

(upoštevajoč pravila poimenovanja), lahko

definiramo fiksno vrednost ali poljuben izraz

(slika 2.9). Te spremenljivke so v programih

globalne, kar pomeni, da so dostopne tudi v

Calculatorju, razen če jih po izvršbi programa zbrišemo s funkcijo DelVar.

- Request

Funkcija Request je združba funkcij Disp in :=.

Request prikaže tekst in hkrati shrani (:=)

vrednost v spremenljivko, ki stoji za vejico. Ko

program izvede funkcijo Request, se na

zaslonu izpiše tekstovno okno, kamor

vnesemo zahtevano vrednost.

Slika 2.9: Deklariranje vrednosti

Slika 2.10: Request funkcija

Page 19: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

11

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- If Then, ElseIf, EndIf

If stavek je eden izmed najpomembnejših oblik

obvladovanja poteka sintakse in različnih pogojev

nasploh. If stavek je sestavljen iz začetka „If“ in konca

„EndIf“. Zraven še pripadata Then in ElseIf. ElseIf

uporabimo, če ima stavek več pogojev. Znotraj If stavka

lahko uporabimo več If stavkov. Primer enojnega If

stavka z večjimi zaporednimi pogoji je na sliki 2.11,

primer večpogojnega vzporednega pa na sliki 2.13 in

2.14. Uporabljamo lahko tudi operatorje <> in and in or.

Slika 2.11

Slika 2.13

Slika 2.14 Slika 2.12

Page 20: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

12

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- Goto Lbl

Goto je posebej priročen, ko je potrebno preskočiti velik del kode ali če hočemo v en

program spraviti več različne kode, ki mora druga drugo preskočiti. Sicer bi se dalo z If

stavkom, vendar je mnogo manj pregledno. Goto je sestavljen iz Goto >tekst< in Lbl >

tekst <. Goto deluje tako, da iz Goto > tekst < skoči na Lbl > tekst <.

Recimo, da pišemo program za izračun vitkih podpornih konstrukcij. V tistem delu kode,

kjer računamo zemeljske tlake je za vse načine enaka (če gre za isti sistem). Naprej se

pa program razdeli na več samostojnih metod. Te so lahko metoda linearne

porazdelitve, blumova metoda, metoda plastifikacije, sidrana metoda.

Tako bo program preskočil metode, ki jih ni potrebno računati in takoj pričel z metodo,

ki smo si jo izbrali že v začetku.

Na sliki 2.15 je začetni del Goto funkcije, ki se

aktivira s pomočjo If stavka.

Na sliki 2.16 je del

sintakse, kamor bo

Goto funkcija skočila.

Prvi del tega sklopa je

na sliki 2.15.

Slika 2.15 : Začetni del Goto funkcije

Slika 2.16: Končni del Goto funkcije

Page 21: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

13

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- For EndFor

For se uporablja, ko se pri izračunu pojavlja ciklična sprememba iste spremenljivke.

Primer za to je izračun notranjih statičnih količin krožnega dela konstrukcije na sliki

2.17. V tem primeru je program razdeljen na dva dela. Prvi del gre od ϕ=0° do ϕ=45°,

drugi pa od ϕ=45° do ϕ=90°. Pri For funkciji moramo spremenljivko, ki se bo ciklično

spreminjala, lokalizirati z Local ϕ. Vidimo,

da For potrebuje 4 argumente, ki so ločeni z

vejicami. Prvi argument pove, katera

spremenljivka se bo ciklično spreminjala

(ϕ), druga pove začetno vrednost, tretja

končno vrednost in četrta korak (angl.

increment). For stavek se konča z EndFor. V

primeru na sliki 2.17, se bo izračun za normalno silo ponavljal tolikokrat, dokler ne bo

kot ϕ dosegel 45°.

- While EndWhile

While je podobno kot For. Je zanka, ki se

ponavlja, dokler pogoj ne preneha veljati. V

primeru na sliki 2.18 je potrebno najprej

definirati pogoj za kot ϕ, ki mora biti manjši

ali enak 45°. Znotraj zanke zapišemo, da bo

novi kot ϕ ob vsaki ponovitvi pridobil 5°. Ta

zanka na prvi pogled zgleda čudno.

Razumeti moramo, da je ϕ, ki je v izrazu

ϕ+5 stari ϕ, ki je nastal pri prejšnji zanki. Ta se bo sedaj povečal za 5 in bo do konca te

zanke novi ϕ, ki stoji pred znakom :=. Ob začetku nove zanke bo pa ta spet stari ϕ...

Primer z While da enake rezultate, kot primer z For (slika 2.17.)

Slika 2.17

Slika 2.18

Page 22: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

14

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- Min, Max, Sum, Mean

Omenjenih funkcij ni potrebno posebej opisovati, saj iz liste števil dajo točno to, kar

pričakujemo od njih. Težavno je predvsem za začetnike, saj ni eksplicitno pojasnjeno,

kaj so argumenti. Vsaka funkcija ima prostor za dva argumenta, kar ne pomeni, da lahko

vnesemo le dve števili ampak tudi dve množici števil (Listi). Množice kreiramo tako:

api:={2,6,7,12,34} in bi:={3,6,9}. Listi, ki se imenujeta api in bi sta zdaj kreirani.

Za minimum med množicama zapišemo: min(api,bi) ali min({2,6,7,12,34},{3,6,9}).

Liste lahko kreiramo tudi v Lists & Spreadsheets in jih uporabljamo v Calculatorju. Če

uporabljamo te funkcije v Lists & Spreadsheets moramo vedeti, da funkcije ne poiščejo

minimuma med vsemi števili, ampak samo med vzporedno primerjanimi celicami (npr

a1 in b1). Funkcija mean deluje po enakem principu kot min in max.

Potrebno je paziti, da je v stolpcih enako število števil. Če ni, dobimo napako Dimension

mismatch. Pozorni moramo biti, da v praznih celicah ni kakšnih drugih znakov

(-,_,error), ker ti povzročajo prej omenjeno napako.

V stolpcu C je uporabljena funkcija za povprečno vrednost, kjer argument a[] pomeni,

da števila črpamo iz stolpca A, ne glede na to, da je poimenovan ali.

Slika 2.19: Primeri funkcij v Texasovi preglednici

Page 23: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

15

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V stolpcu D deluje funkcija mini, ki sem jo v ozadju spisal in je identična funkciji za

maksimum (max). Nauk stolpca F je naslednji: funkcija mini je napisana tako, da ni

potrebno navesti argumentov v oklepajih (abi,bi), saj sta argumenta že uporabljena v

sintaksi in zadošča le mini(). Torej, tudi, če nimamo argumentov v oklepajih, morajo biti

zraven prazni oklepaji, saj drugače dobimo error.

Še ena pomembna lastnost v zvezi z uporabo Cas Student paketa je, da ko spremenimo

program ali funkcijo moramo vedno program shraniti in osvežiti knjižnico (refresh libraries).

Če tega ne storimo, se lahko zgodi, da v različnih aplikacijah uporabljamo različne različice

funkcij in programov. Če naredimo le Check syntax and store, bo funkcija sicer posodobljena

in če jo uporabljamo na način, da navedemo le njeno ime (npr. mini()), bo uporabljena

najnovejša različica. Če pa iz kakršnegakoli razloga dostopamo do nje, kot to delamo s

programi, se pravi, da najprej navedemo ime dokumenta v katerem je funkcija shranjena

(v mojem primeru listsmin\mini()1), bo uporabljena tista funkcija, ki je nazadnje bila

shranjena (ctrl+s) v DATOTEKO in ne tista, ki smo jo shranili s Check syntax and store.

1 Funkcija mini na sliki 2.20 ni ista kot funkcija v stolpcu F na sliki 2.19

Slika 2.20 : Funkcija mini s predpisanimi argumenti v oklepajih

Page 24: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

16

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- setMode

Nekatere enačbe in postopki zahtevajo svoje parametre, pri katerih moramo dobiti

rezultate, ki smo jih „vajeni“. H-diagrame računamo tako, da imamo kalkulator

nastavljen na radiane. Kakšen drugi program pa spet potrebuje zgolj „navadne“

stopinje. Da ne bi stalno ročno spreminjali teh nastavitev lahko to naredimo s funkcijo

setMode. SetMode() vsebuje dva argumenta, ki se nanašata na tabelo spodaj. Primer,

da želimo spremeniti nastavitev kalkulatorja, da bo računal v radianih:

setMode(2,1)

Tabela 2.1: Tabela velja Za Nspire CAS in CAS CX kalkulatorje

Nastavitev Zaporedna št.

Pomen

Izpis rezultata 1 Število prikazanih števk

FLOAT N= [1,13] Fiksno število decimalnih mest. Od 0 do 12 mest.

FIX N= [14,26] Skupno število števk.

Kot 2 Tip kota

Radian 1

Stopinja 2

Grad 3

Eksponentni izpis 3 Definira način izpisa rezultatov

Normalno 1 Normalen zapis, razen za večja števila, ki so v 10^e

Znanstveno 2 Vse prikazano kot x.yz*10^e

Inženirsko 3 Enako kot znanstveni, le da je eksponent večkratnik od 3.

Tretiranje rezultatov

4 Kompleksna in realna števila

Realna 1 a,b,c

Kompleksna 2 x+bi

Polarna 3 𝑟𝑒𝜃𝑖 Zaokrožitev rezultata

5

Avtomatsko 1

Približno 3 Rezultati so decimalni

Oblika vektorja 6

Kartezični x,y,z 1

Polarni/cilindrični 2

Sferični 3

Page 25: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

17

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Tabela 2.2: Tabela velja za starejše kalkulatorje

Nastavitev Zaporedna št.

Pomen

Graf 1 Tip grafa za risanje

Funkcija 1 Navadne funkcije tipa f(x)

Parametrična 2 Funkcije tipa x(t), y(t)

Polarna 3 Funkcije tipa r(θ)°

Sekvenca 4 Nariše sekvenco števil u(n)

3D 5 Funkcija tipa z(x,y)

Diferencialna 6 Nariše rešitve in polja enostavnih diferencialnih enačb

Izpis rezultata 2 Število prikazanih števk

FIX N= [1,13] Fiksno število decimalnih mest. Od 0 do 12 mest.

FLOAT 14 Enakovredno nastavitvi FLOAT 12

FLOAT N= [15,26] Skupno število števk.

Kot 3 Tip kota

Radian 1

Stopinja 2

Grad 3

Eksponentni izpis 4 Definira način izpisa rezultatov

Normalno 1 Normalen zapis, razen za večja števila, ki so v 10^e

Znanstveno 2 Vse prikazano kot x.yz*10^e

Inženirsko 3 Enako kot znanstveni, le da je eksponent večkratnik števila 3.

Tretiranje rezultatov

5 Kompleksna in realna števila

Realna 1 a,b,c

Kompleksna 2 x+bi

Polarna 4 𝑟𝑒𝜃𝑖 Izpis formul 7 Način izpisa enačb

Izključeno 1 Enačbe so napisane tako, kot se jih tipka

vključeno 2 Enačbe so napisane tako, kot na papirju

Delitev zaslona 8 Razdelitev zaslona na dva dela

En zaslon 1 En zaslon; fullscreen

Zgoraj in spodaj 2 Zaslon se razdeli na dva dela; zgoraj in spodaj

Levo in desno 3 Zaslon se razdeli na dva dela; levo in desno

Zaokrožitev ali ne 14

Avtomatsko 1

Točno 2 Rezultati so ulomki

Približno 3 Rezultati so decimalni

Page 26: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

18

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

2.6 Matrike in seznami

Če programiramo nekaj, kar zahteva dosti vnosov in je dosti rezultatov, je praktično te

rezultate sortirati v dvodimenzionalnih podatkovnih strukturah, Texas Basic v ta namen

ponuja dvodimenzionalna polja oz. matrike.. Poleg matrik, se kot podatkovna struktura

pogosto uporablja seznam in preglednica.

Na sliki 2.21 je prikazanih nekaj primerov operacij, ki uporabljajo matrike.

Na sliki 2.21 je prikazanih nekaj primerov operacij, ki uporabljajo matrike.

Neki spremenljivki lahko priredimo poljubno matriko in nato dostopamo do poljubnega

člena in poljubni člen v matriki lahko tudi spremenimo.

Da dostopamo do števila 5 v matriki m moramo zapisati m[2,2]. Da ga spremenimo v 17 ga

enostavno definiramo: m[2,2]:=17. Enako počnemo s seznami .

Slika 2.21: Nekatere operacije z matrikami

Page 27: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

19

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Pri izvleku x in y koordinat iz matrik uporabimo funkcijo subMat(m,1,1,1,3), kjer argumenti

povrsti pomenijo: matriko, prvi dve števili sta kordinati kjer se začne izvlek, tretja pomeni,

da se pomikamo samo po prvi vrstici, zadnja pa pri katerem stolpcu se ustavimo.

S funkcijo x:=mat▶list([1.,2.,3.]) spremenimo enovrstično matriko [1.,2.,3.] v listo {1.,2.,3.}.

Liste lahko nato predstavimo na grafu s funkcijo Scatter Plot.

Page 28: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

20

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

3 PRIMERI

3.1 Izračun notranjih statičnih količin krožnega dela nosilca.

Pri tem primeru bomo avtomatizirali izračun notranjih statičnih količin krožnega dela

narisane konstrukcije. Podatke bo program jemal in zapisoval v preglednico.

Sistem:

Q= 5 kN/m'

Fx=Fy= 1 kN

Slika 3.1: Statični sistem konstrukcije

Page 29: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

21

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Izrazi za normalne in prečne sile ter momente:

𝑁[0,45] = −𝑦𝑎 ∙ 𝑐𝑜𝑠 φ − 𝑥𝑎 ∙ sin φ (3.1)

𝑉[0,45] = −𝑥𝑎 ∙ 𝑐𝑜𝑠 φ + 𝑦𝑎 ∙ sin φ (3.2)

𝑀[0,45] = −𝑥𝑎 ∙ 𝑟 ∙ 𝑠𝑖𝑛 φ + 𝑦𝑎 ∙ 𝑟 ∙ (1 − cos φ) (3.3)

𝑁[45,90] = −𝑦𝑎 ∙ 𝑐𝑜𝑠 φ − 𝑥𝑎 ∙ sin φ − 𝑓𝑦 ∙ 𝑐𝑜𝑠 φ − 𝑓𝑥 ∙ 𝑠𝑖𝑛 φ (3.4)

𝑉[45,90] = −(𝑥𝑎 − 𝑓𝑥) ∙ 𝑐𝑜𝑠 φ − (−𝑦𝑎 − 𝑓𝑦) ∙ sin φ (3.5)

𝑉[45,90] = −𝑥𝑎 ∙ 𝑟 ∙ 𝑠𝑖𝑛 φ + 𝑦𝑎 ∙ 𝑟 ∙ (1 − cos φ) − 𝑓𝑥 ∙ 𝑟 ∙ (𝑠𝑖𝑛 φ − 𝑠𝑖𝑛 45) + 𝑓𝑦 ∙ 𝑟 ∙

(cos 45 − cos φ) (3.6)

Reakcije:

Xa=5.28 kN Xb=6.28 kN

Ya=6.28 kN Yb=14.72 kN

Kako zelo omejeno delovanje programa želimo imeti, je odvisno od nas. Sili Fx in Fy sta v

tem primeru fiksirani na polovici krožnega dela, torej na 45 stopinjah. To pomeni, da bo

omejen le na sistem, kjer bosta sili le na tej lokaciji.

Najpomembneje je imeti pred seboj jasen računski postopek in potek izračuna. Ko imamo

to, nam preostane le še, da povežemo enačbe v delujoč program.

Page 30: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

22

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Sintaksa:

Začnemo tako, da odpremo nov dokument, dodamo Calculator aplikacijo in vstavimo

Program editor. Naš program je poimenovan statika1kroz2 (slika 3.3). Vstavljali bomo le 5

podatkov, zato je priročno, da jih ob zagonu programa vnesemo kot parametre v oklepaj

takoj za imenom programa:

statika1kroz2(xa,ya,fx,fy,r)=

Za vnos podatkov bi seveda lahko uporabili tudi funkcijo Request.

Elegantna rešitev za naš problem je funkcija For. Intervali so nastavljeni na 5 stopinj, kar

pomeni, da bo program za vsakih 5 stopinj izračunal vse notranje statične količine. Podoben

zapis bi bil mogoč tudi z While zanko.

Ker se pri funkciji For ciklično spreminja spremenljivka ϕ, jo moramo pred tem definirati

kot lokalno, saj mora biti omejena le na stavek For. To naredimo z Local ϕ. Če dobljene

rezultate gledamo v Calculatorju, potem si je smiselno predvideti vmesne komentarje za

orientacijo v gruči števil. Ti komentarji se izpišejo pred izračunanimi vrednostmi.

Torej pred začetkom for stavka zapišemo Disp“N od 0 do 45“. Sledi For stavek, ki je jedro

programa. Ostali deli programa se zgolj ponovitve tega jedra s prirejenimi parametri za

prečne sile in momente.

Page 31: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

23

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

For bo sedaj ciklično računal vse, kar je v stavku od ϕ=0 do ϕ=45, s korakom 5 stopinj.

Čeprav ne moremo programov direktno uporabljati v preglednici, je možno jemati

vrednosti iz preglednice in jih shranjevati v preglednico. Spomnimo, da so posamezni

stolpci v preglednicah definirane kot seznami, zato bo program zapisoval rezultate v

sezname.

Slika 3.2: Prvi del programa

Page 32: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

24

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Prvi seznam ima ime n (slika 3.3). Ime je poljubno. Izraz n[i]:= pomeni, da se bo rezultat

shranil v seznam n, v zaporedno celico i, pri čemer se i z vsakim ciklom mora spremeniti. V

nasprotnem primeru se bodo rezultati le prepisovali v eni celici. Majhen problem nastane

le pri začetnem i-ju. Operacija i:=0 se mora izvesti le na začetku in to enkrat. Zato zapišemo

If stavek znotraj For stavka, da se izvede le takrat ko je ϕ=0. Tako bo na koncu prvega cikla

vrednost izraza i=i+1 enak 1. V naslednjem ciklu bo sedaj If stavek preskočen, ker je ϕ že

večji od 0 in se bo prejšnji i seštel v 2 in tako

naprej.

Ko poženemo program bodo rezultati izpisani v

preglednici. Ker rezultate shranjujemo v

sezname, morajo seznami v preglednici biti že

vnaprej zapolnjeni s poljubnimi vrednostmi, saj

ta izraz v bistvu le spreminja vrednosti že prej

definiranega seznama. Če tega ne naredimo,

dobimo dimension mismatch, ker se sklicujemo

na člen, ki še sploh ne obstaja. Da se tudi na drug

način in sicer tako, da neposredno kreiramo listo

n:={n[1],n[2]...}, ampak je to stvar odločitve.

Ostali elementi programa so bolj ali manj enaki, z nekaj korekturami glede na i, ki spremeni

pozicijo kje se bodo rezultati drugega dela programa zapisovali.

Pri tem programu ne smemo na koncu pobrisati spremenljivk n,v in m, ker potem

rezultati izginejo iz preglednice.

Prvi del programa je na sliki 3.2 drugi del pa na sliki 3.5.

Rezultati v preglednici so na sliki 3.4.

Slika 3.3: Jedro programa

Page 33: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

25

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Rezultati:

Slika 3.4: Izpis notranjih statičnih količin v preglednici

Page 34: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

26

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 3.5: Drugi del programa, ki velja za interval od 45°-90°

Page 35: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

27

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

3.2 H-Diagram in delta h

H-diagrami oz. vplivni koeficienti se uporabljajo za določitev vertikalnih posedkov pod

ogljiščno točko pravokotne in gibke obremenitvene ploskve. Določijo se po osnovni

enačbi:

𝐼𝑠 =1

𝜋(1 − 𝜈2) ∙ [𝑙𝑛

(𝑎

𝑏+√1+(

𝑎

𝑏)

2)∙√1+(

𝑧

𝑏)

2

𝑎

𝑏+√1+(

𝑎

𝑏)

2+(

𝑧

𝑏)

2+

𝑎

𝑏𝑙𝑛

(1+√1+(𝑎

𝑏)

2)∙√(

𝑎

𝑏)

2+(

𝑧

𝑏)

2

𝑎

𝑏(1+√1+(

𝑎

𝑏)

2+(

𝑧

𝑏)

2)

] +

+1

𝜋(1 − 𝜈 − 2 ∙ 𝜈2)

𝑧

𝑏𝑎𝑟𝑐𝑡𝑎𝑛 (

𝑎

𝑏

𝑧

𝑏√1+(

𝑎

𝑏)

2+(

𝑧

𝑏)

2) (3.7)

Pri pogoju: a≥b ter kot v radianih

Dejanska vrednost h-diagrama je razlika med Is(a, b, z=∞, 𝜈) in Is(a, b, z, 𝜈). Tako se

„neskončni z“ nastavi na zelo visoko število npr. z=1*1020. Drugi z je globina, za katero

iščemo h diagram.

To velja za običajni izračun vplivnih koeficientov. Pri izračunu vplivnih koeficientov npr. za

segmente betonske plošče, pa nas zanima razlika vrednosti med globino z=0 in neko

globino npr z=10m. Zato poimenujmo dobljene vrednosti delta h (Δh).

Zaradi razlike dveh vrednosti h diagramov bodo v programu za izračun ene vrednosti Δh

nastopale 4 enačbe Is.

Sintaksa:

Najprej v prvih vrsticah poskrbimo za kritične vhodne podatke: poissonov količnik, globino

z in dolžini stranic a in b (slika 3.6). Nadalje definiramo zn, ki je nadomestek za neskončno

velik z in je 𝒁𝒏 = 𝟏𝟎𝟐𝟎. Z1, ki bi dejansko moral biti nič je zaradi matematičnih razlogov

0.00001. Sledi enačba za vrednost hz in h0. Na sliki 3.6 je zaradi preglednosti enačba

nadaljevana v novi vrstici, kar ni pravilno. Dolge enačbe morajo ostati v enem kosu, razen,

če jih razdelimo na dva samostojna dela in ju na koncu seštejemo.

Page 36: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

28

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Ostane še, da zapišemo razliko h vrednosti in jo shranimo pod dh. Z disp in komentarjem

„Δh“ ponazorimo kaj se bo izpisalo. Na koncu lahko še pobrišemo spremenljivke z DelVar.

Slika 3.6: Program za delta h vrednost

Page 37: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

29

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Shranjen program zaženemo v calculatorju in vnesemo zahtevane podatke. Rezultati so

na sliki 3.7.

Slika 3.7: Rezultat programa

Page 38: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

30

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

3.3 Izračun α koeficientov pri betonski plošči

Prejšnji program bo sedaj uporabljen v tem primeru. Ker pri izračunu α koeficientov

potrebujemo Δh koeficiente, bo tale program le klical že obstoječi program za Δh

koeficiente, namesto, da bi znova vpisovali vse potrebne enačbe za izračun v novi program.

Ploščo razdelimo na enake segmente in shranimo korrdinate njihovih težišč v preglednici

(slika 3.9). Koordinatni sistem ima izhodišče v težišču prvega segmenta.

Naprej v programu bodo naslovi teh koordinat v obliki: y[x1], x[x2] oziroma y[x2], x[x1]

Simbola x1 in x2 v oglatem oklepaju se nanašata na zaporedno številko segmenta (npr.

x1=3 in x2=5). To vrednost vnesemo po želji za vsak novi izračun. Vrednost je celo število.

Slika 3.8: Betonska plošča razdeljena na enake segmente

Page 39: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

31

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 3.9: Preglednica, kjer so shranjene koordinate segmentov

Page 40: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

32

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Sintaksa:

V tem programu bomo klicali program dhdiagram iz prejšnjega primera. Da dobimo

pravilne rezultate iz njega, mora biti kot nastavljen na radiane. Nastavimo ga s

setMode(2,1). Setmode spremeni nastavitev kalkulatorja samo za čas izvajanja programa.

To lahko nastavimo v trenutnem programu ali v klicanem programu.

Sledijo zahtevki za podatke. Ti se pravtako prenesejo v klican program in ni potrebno imeti

posebej zahtevkov za a, b, z, ν. Zaradi tega je potrebno v klicanem programu iz prejšnjega

primera odstraniti te zahtevke ali jih pa preprosto damo v narekovaje, da niso več aktivni.

Slika 3.10: Začetni del programa

Page 41: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

33

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Naprej naredimo dva zahtevka z Request za vnos lokacije obravnavanega segmenta.

S spremenljivkama x1 in x2 definiramo za katera dva segmenta bo program izvajal izračun

npr: 1,1. (pomeni sam s seboj)

Vplivni koeficient α se računa po enačbi:

𝛼𝑖,𝑖 =𝑞∙𝑏

𝐸𝑧∙ ∆ℎ (3.8)

kjer je:

-α pove, kolikšen je vpliv enotine obtežbe q iz k-tega na i-ti element

-b krajša stranica obravnavanega pravokotnika

-Ez elastični modul zemljine

-q enotina sila

-Δh razlika vplivnih koeficientom med višino z=0 in z=z

1.) Segment v težišču

Če računamo vpliv segmenta na samega sebe (slika 3.11), se segment razdeli na 4 vogalne

like in se izračuna Δh za enega. Za celoten segment se množi s 4. Vpliv se po postopku

računa na vogalno točko, ne na središče segmenta. V tem primeru je izračun enostaven.

Kompleksneje je, ko je potrebno pri oddaljenih segmentih uporabiti superpozicijo ter

sešteti in odšteti imaginarne segmente, da dobimo pravi

rezultat. V programu bo nastopalo 7 takih situacij vključno

s tem. Identificiramo jih z geometričnimi pogoji s pomočjo

If stavkov. Prvi primer, ki je na sliki 3.11 ima naslednji

pogoj:

If Ιy[x2]-y[x1] Ι=0 and Ιx[x2]-x[x1]Ι=0

Slika 3.11: Enojni element

Page 42: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

34

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Pogoj enostavneje pomeni Y2-Y1=0 in X2-X1=0. Pogoj velja samo za primer, kadar

računamo segment s samim seboj. Zapis je v absolutni obliki. Absolutnost lahko zapišemo

z matematičnimi simboli ali s funkcijo abs().

Sledi dhdiagram\hdiagram(b/2,a/2)(slika 3.10). S tem kličemo program iz prejšnjega

primera. Klicanje programa mora biti izvedeno z novo vrstico, saj programa ne moremo

klicati, če je umeščen znotraj kakšnega izraza. Niti ga ne moremo množiti s preprostim

številom. Vse kar nam vrne ta vrstica je spremenljivko dh , ki jo potem uporabimo v enačbi

za α koeficient.

Spremenljivki z0 in 𝝂 sta že definirani v trenutnem programu, zato ostane le še, da

definiramo b0 in a0. Klican program tako spremenimo, da ne zahteva teh dveh spremenljivk

tako kot je to narejeno v originalni izvedbi ampak jih predvidimo v oklepaju

dhdiagram\hdiagram(b0,a0). Izraz v oklepaju mora voditi do števila.

Program nam sedaj vrne vrednost dh, ki ga nato uporabimo za izračun α koeficienta. Sledi

konec If stavka.

Page 43: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

35

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

2.) Diagonalni segmenti

V drugem delu imamo opravka z oddaljenimi

segmenti, kjer najprej vzamemo velik modri

pravokotnik, nato ga pa ustrezno odštejemo in

prištejemo. Ponazorjeno je na sliki 3.13. Modremu

pravokotniku odštejemo zelenega in vijoličnega in

prištejemo rdečega. Končano seštevanje in

odštevanje nam da pravo vrednost.

Parametri koordinat na sliki 3.13 veljajo le za

primere, ko sta segmenta „raztegnjena“ v ordinatni

smeri. Ko sta raztegnjena v abscisni smeri

upoštevamo še pogoje za rjavi pravokotnik (slika 3.12), ki je nadomestek vijoličnega

pravokotnika. V tem primeru se tudi X in Y pogoji povsem analogno zamenjajo. Ker

Slika 3.12: Dodatni pravokotnik pri horizontalno raztegnjenih kombinacijah

Slika 3.13: Superpozicije likov pri izračunu vplivov med diagonalnimi segmenti

Page 44: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

36

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

definicija zahteva, da je b vedno krajša stranica, je tako tudi definirano za b0 in a0. Prvi

segment je bil le kratek If stavek. Preostanek programa je v If stavku vse do konca, ki gre

tako:

If pogoj za modri pravokotnik Potem

Računaj modri pravokotnik

Računaj zeleni pravokotnik

Računaj rdeči pravokotnik

If pogoj za rjavi pravokotnik Potem

Računaj rjavi pravokotnik

ElseIf pogoj za vijolični pravokotnik Potem

Računaj vijolični pravokotnik

EndIf

ElseIf je pogoj za vzporedne pravokotnike potem

Računaj vzporedne pravokotnike

EndIf

To z drugimi besedami pomeni, da med računanjem razlikujemo diagonalno umeščene

segmente in segmente, ki so samo premeščeni vzdolž y ali x osi. Pri diagonalnih segmentih

sta še dodatna pogoja za razlikovanje vijoličnega in rjavega pravokotnika.

Tako je pogoj za nevzporedno (diagonalno) geometrijsko situacijo sledeč:

abs(y[x2]-y[x1])>0 and abs(x[x2]-x[x1])>0.

Kar pomeni, da segmenta nista vzporedna ne v x in ne v y smeri. Opreator and pomeni, da

morata biti oba pogoja izpolnjena.

Nato kličemo program za dh (slika 3.14) in za b0 in a0 definiramo odgovarjajoče pogoje.

Ker je prvi argument v oklepajih b0 in to mora biti najkrajša stranica, uporabimo funkcijo

min(). Ravno obratno sledi za a0. Min, max in geometrijski pogoj bosta v tem primeru

Page 45: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

37

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

poskrbela, da bo moder pravokotnik (“veliki kvadrat“), vedno največji oz. tisti, od katerega

se bo odštevalo:

dhdiagram\hdiagram(min(abs(y[x2]-y[x1])+b/2,abs(x[x2]-x[x1])+a/2,max(abs(y[x2]-

y[x1])+b/2,abs(x[x2]-x[x1])+a/2)

Glede na pozicijo, je enkrat b0 v y smeri, drugič pa v x smeri. Zato zapišemo dvojna pogoja

za b0 in a0, ločena z vejico.

Slika 3.14: Izračun modrega in zelenega pravokotnika

Page 46: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

38

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Dhdiagram vrne vrednost dh, ki jo nato uporabimo za izračun delnega količnika α. Delni

količniki α so označeni z α161, α162, α163, α164, ki jih na koncu seštejemo ali odštejemo,

da dobimo končni α koeficient.

Naslednji del je zeleni segment, ki ima take pogoje, da je v vsakem primeru izbran najožji in

najdaljši segment („ožji segment“ na sliki 3.14).

Vrstici Disp "b je" in Disp "a je" sta namenjeni kontroli, saj se izpišejo vrednosti stranic

pravokotnikov. Na ta način lahko na hitro preverimo, če so bili izračunani pravilno.

Slika 3.15: Izračun vijoličnega ali rjavega pravokotnika

Page 47: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

39

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Na sliki 3.15 sledi notranji If stavek, ki razlikuje med vijoličnim in rjavim pravokotnikom.

Spomnimo, da ta dva pravokotnika nastopata v odvisnosti od orientacije diagonalnih

segmentov.

Pred njim je še pogoj:

If abs(x[x2]-x[x1])>abs(y[x2]-y[x1]), -kar pomeni, da če sta segmenta v x smeri v večji

medsebojni oddaljenosti kot v y smeri se izvede izračun, ki sledi takoj za pogojem. Če ne,

se izvede izračun, kjer je Else.

Največji in najmanjši pravokotnik lahko definiramo enolično, v primeru vijoličnega

pravokotnika sta pa dve možnosti. Problem je v pogoju za b0 saj pri določenih pogojih

sovpada s pogojem od zelenega pravokotnika.

In še zadnji del diagonalnih segmentov. Prišteti je potrebno rdeči pravokotnik. Delne

koeficiente na koncu združimo (minusi so definirani že pri delnih koeficientih) in dobimo

končno α vrednost za diagonalne segmente.

Slika 3.16: Izračun rdečega pravokotnika

Page 48: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

40

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

3.) Vzporedni segmenti

Čisto na koncu imamo še izračun vzporedno premaknjenih segmentov. Pogoj:

If abs(x[x2]-x[x1])>0 and abs(y[x2]-y[x1])=0 or abs(x[x2]-x[x1])=0 and abs(y[x2]-y[x1])>0

Pri vzporednih segmentih sta pravokotnika enaka v

x in y smereh. Dodatno, ker sta paroma enaka, ju

zgolj množimo z 2. Preostanek postopka je bolj ali

manj enak kot v prejšnjih segmentih.

Slika 3.18: Izračun roza in rumenega pravokotnika

Slika 3.17: Vzporedna segmenta

Page 49: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

41

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

- Rezultati:

Na sliki 3.20 je prikaz izpisa rezultatov programa za segmenta 1 in 6 za obravnavano

ploščo.

Ob zagonu programa vstavimo zahtevane podatke in izberemo, za katera dva elementa

želimo, da se izračun izvede. Izpis je sestavljen iz izpisov posameznih dh elementov in

njihovih vrednosti za b0 in a0. α koeficient je izpisan na koncu.

Slika 3.19: Rezultati

Page 50: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

42

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

4 OKOLJE MATLAB

4.1 Uvod

Matlab (Matrix Laboratory) je izdelek podjetja MathWorks (Massachusetts ZDA), ki je

nastal leta 1984. Uporabljajo ga znanstveniki in inženirji po vsem svetu.

Poglavitne lastnosti Matlaba so numerično in simbolično računsko okolje, lastni

programski jezik, dodelano manipuliranje z matričnimi sistemi, grafični prikaz problemov

in podatkov, izdelava grafičnega uporabniškega vmesnika, simulacije in povezljivost z

drugimi programskimi jeziki, kot so C, C++, Java, Fortran in Python [8].

Programski jezik v Matlabu je bistveno obširnejši kot Texas basic. Predvsem v področju

grafičnega prikaza je jezik zelo močan. Funkcij je seveda bistveno več in ker se jezik izvaja

v glavnem na osebnih računalnikih se lahko izvajajo zahtevnejši izračuni, ki bi drugače na

kalkulatorjih prepočasi delovale.Temeljna razlika, ki jo opazimo iz prehoda iz Texas basica

na Matlab je ta, da je Texas basic kontinuirano narejen tako, da ga pišemo na naraven

način in da je simbolna kalkulacija skoraj povsod prisotna (razen v funkcijah). Matlab po

drugi strani je „tipkan jezik“, kar pomeni, da je vse tipkano s pomočjo simbolov in ukazov,

ki so na tipkovnici. Ne moremo vstaviti ulomkove črte in korenov, integralov, grških črk,

itd. Še ena bistvena očitna razlika je občutljivost na male in velike znake. Texas Basic

sintakso sam popravi, če so male/velike črke pri ukazih nepravilno uporabljene, medtem

ko Matlab tega ne naredi. Kljub temu navede točno mesto napake za hitro razreševanje.

Texas basic, pozna spremenljivke, ki so sestavljene iz samo malih simbolov in številk,

Matlab razlikuje med malimi in velikimi črkami pri spremenljivkah, vendar sintaksa ne

dovoljuje grških črk. Simbolno reševanje in naravni prikaz računov v Matlabu seveda

obstaja in se izvaja v podaplikaciji imenovani MuPad. Začetne enačbe je vseeno potrebno

natipkati (slika 4.1 ).

To sta bistveni dve razliki, ki ju je potrebno premostiti. Kar je še vredno omeniti v tej točki

je to, da Matlab ne podpira funkcije Goto.

Page 51: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

43

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 4.1: Vmesnik za simbolno računanje Mupad

Page 52: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

44

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

4.2 Vmesnik

Vmesnik je intuitiven in čist (slika 4.2). Levo zgoraj je prikazana vsebina mape, kamor

shranjujemo programe (skripte), delovni prostor (workspace) in slike. Ustvarimo lahko več

map. Privzeta mapa je v Moji dokumenti/Matlab. Slike, ki jih želimo uporabiti (jih klicati),

morajo biti v tej mapi, ker drugače je potrebno navesti celotno pot do njihovih lokacij.

Okno nižje od tega zgolj pokaže predogled izbrane datoteke v prejšnjem oknu.

Prostor, kjer je tabela ni obvezen ampak se aktivira, ko odpremo spremenljivko in ali če

želimo zasidrati grafično okno (figure) na to mesto.

Pod njim je glavno ukazno okno. V njem izvajamo ukaze in izračune. Izračuni, ki se

dogajajo v programih, se izpisujejo v tem oknu. Izpiše se tekst, ki ga predvidimo in napake,

ki se zgodijo.

Slika 4.2: Glavno okno Matlaba

Page 53: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

45

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Desno zgoraj je okno, kjer je seznam spremenljivk. Ločeno okno s spremenljivkami

omogoča lažji nadzor nad dogajanjem v programu. Z dvojnim klikom na spremenljivko

lahko spremenimo njeno ime in vrednost.

Desno spodaj je okno z zgodovino ukazov. Ko shranimo in zapremo delovno okolje

(workspace), se ukazno okno pobriše, zgodovina ukazov se pa shrani v to namensko okno

in nam tako omogoča, da se vedno lahko vrnemo nazaj na pretekli ukaz.

4.3 Osnovni ukazi

Ukazov v Matlabu je veliko. Iščemo jih lahko tako, da prikličemo iskalnik s pomočjo ikone

fx. V veliko pomoč je baza ukazov na uradni spletni strani, vendar so tam opisi za

najnovejšo verzijo Matlaba in se pogosto zgodi, da opisi niso povsem kompatibilni.

Če želimo uporabiti ukaz, ki ga že poznamo vendar potrebujemo dodatne informacije,

zapišemo v delovno okno npr.: doc display in se v novem oknu odpre opis funkcije display

s primeri.

4.4 Ukazi za brisanje

Spomnimo, da smo pri Teksasu uporabljali Delvar za brisanje spremenljivk. Tukaj

uporabljamo clear. Clear zbriše vse spremenljivke, medtem ko clear a zbriše samo a.

Pobrišemo lahko tudi delovno okolje z clc.

Nenazadnje pri mnogih odprtih figure oknih jih zapremo z close all ali posamično z

close figure(1)) ali close(1), oz. če smo okno odprli v obliki a=figure(17), jo zapremo z

close (a).

Page 54: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

46

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 4.3: Okno z razlago in primeri

Page 55: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

47

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

4.5 Prikazovanje teksta in števil

Pri Texas basicu smo v glavnem bili omejeni na funkcijo Disp. Če v programu nismo

uporabili funkcije Disp, se vrednost ni izpisala v kalkulatorju. V Matlabu je ravno obratno.

Vse vrednosti, ki se izračunavajo, se privzeto izpisujejo v glavnem oknu. Če ne želimo, da

se izpisujejo, moramo vsako vrstico končati s podpičjem ;.

Kot že povedano, je v Matlabu pester izbor ukazov in načinov, kako priti do iste rešitve.

Prikazani ukazi bodo tisti, ki so pogosteje uporabljani.

Ukaz, ki je v drugi vrstici (na sliki 4.4) je še najbližje Teksasovi funkciji. Uporabljena je

funkcija display in v oklepaju tekst, ki mora biti naveden v apostrofih. Če hočemo prikazati

število, je brez apostrofov.

Način, ki je prikazan v 3. in 4. vrstici je tak, da tekst (string) shranimo pod spremenljivko a

in jo program v četrti vrstici izpiše.

Slika 4.4: Funkcije za prikazovanje

Page 56: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

48

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

6. vrstica preprosto izpiše dani navedek.

Ukaz disp v vrstici 7 izpiše vrednost/tekst, ki je v spremenljivki a, brez da bi izpisal, da je to

vrednost, ki je bila v spremenljivki a.

Izraz v vrstici 8 je uporaben, ko želimo vdelati nek tekstovni/številčni izpis v oknih in

uporabniških vmesnikih. Annotation sprejme več argumentov, s katerimi lahko

oblikujemo svoj izpis po lastnih željah. Če pogledamo sintakso bo izpis v 'textbox' obliki,

zatem sledi vejica in za njo parametri, ki definirajo velikost tekstovnega okna. V oglatem

oklepajo so najprej x in y koordinate tekstovnega okna in zadnji dve vrednosti sta velikost

okna. Vrednosti so dane kot razmerja velikosti pojavnega okna, torej v procentih.

Tropičje, ki sledi je zgolj prelom vrstice. Tako lahko zelo dolg ukaz nadaljujemo v večjih

vrsticah, namesto v eni dolgi. Za identifikatorjem 'string' zapišemo tekst, ki se bo izpisal v

okvirju.

Izraz v 10. vrstici je že naprednejši. Funkcija fprintf ima to dobro lastnost, da lahko

vrinemo izpis poljubne spremenljivke direktno v tekst. In ne samo ene ampak lahko

manevriramo z večjimi spremenljivkami znotraj teksta. Identifikator za številčno vrednost

je znak %. Za njim pride identifikator, ki razlikuje med tekstom (string je pod oznako s),

float f, double d in drugimi. Ukaz \n ni obvezen in pomeni, da se za vsak element, ki je v

spremenljivki a zapiše v novi vrstici. Za vejico na koncu pride še seveda spremenljivka.

Rezultat vrstice 10 bo tako izpis teksta, ki je v apostrofih in teksta, ki je shranjen pod

spremenljivko a.

V vrstici 11 imamo spremenljivko b, ki je število. Uporabimo identifikator za float in pred

njim še izraz, ki pomeni, da se bo število izpisalo na tri decimalna mesta natančno.

Negativni predznak, ki je v izrazu %-.3f pomeni, da nismo definirali enega izmed

argumentov, ker ga ne potrebujemo, se pa zavedamo, da obstaja. Z izpuščenim

argumentom nastavljamo minimalno število števk v izpisu. Tako bi izraz lahko bil tudi

%1.3f.

Page 57: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

49

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

4.6 Definiranje

Za dodeljevanje vrednosti ali teksta spremenljivkam se uporablja navadni enačaj.

Uporablja se tudi operator :=, ki smo ga vajeni pri teksasu, vendar se uporablja le v

aplikaciji MuPad, ki ima tako kot navadni enačaj v drugih delih Matlaba, funkcijo

definiranja vrednosti spremenljivkam (slika 4.1).

V primeru if stavkov se za „je enako“uporablja dvojni enačaj ==. Pri if stavkih se poleg

dvojnega enačaja uporabljata še <>. And in or sta pri if stavkih && in || (slika 4.5).

Dejanska and in or se uporabljata za matrične operacije.

Slika 4.5: Operatorja and in or pri if stavkih

Page 58: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

50

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

4.7 Vnos

Matlab ima veliko načinov vnosa podatkov in predvsem zmožnost uvažanja iz drugih

programov, kot tudi branje podatkov iz oddaljenega strežnika.

Vnos podatkov v matrike je skoraj identična zadeva kot pri Teksas basicu. Če hočemo

zapisati matriko, ki ima dimenzije 3x3 to napravimo tako, kot je prikazano v vrstici 2 na

sliki 4.6. Podpičje nakazuje novo vrstico, če delamo večvrstično matriko, lahko pa vse

zapišemo v dolgo listo. Dostopamo in spreminjamo posamezne elemente matrike na

podoben način, kot pri Teksasu npr.: mat(2,2) je število 5.

Izraz v 3. vrstici je funkcionalno ekvivalent Teksasovemu Requestu. Input je funkcija, ki

spremenljivki iz dodeli vrednost, ki jo po zahtevi vnesemo. Pred tem se seveda izpiše tekst

v oklepaju: „Vnesi iz“.

Slika 4.6: Vnos točk s pomočjo miške

Page 59: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

51

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V vrstici 4 imamo grafični vnos, ki se izvaja s funkcijo getpts. Getpts se uporablja za zajem

točk s pomočjo miške. Po aktivaciji se odpre okno s koordinatami, kjer naklikamo željene

točke. Točke se nato shranijo v matriko s koordinatami [x,y]. Z desnim klikom končamo

vnos. Ginput je podoben getpts z nekaj razlikami.

4.8 If elseif else. For

Logika teh operacij

seveda ostaja ista z

nekaj

spremembami. If in

ostali deli morajo

biti pisani z malimi

črkami in ni več

besede „Then“. Prvi

else mora biti elseif

in vsak naslednji

mora biti zgolj else.

Kot že prej

omenjeno, se

uporablja dvojni

enačaj ==, <> ter

and in or, ki se

pišeta kot && in ||.

For stavki so

pravtako brez

posebnosti. Vrstica 10 pomeni, da se bo zanka izvajala od n do 2 s korakom -1. Vrstico 11

moramo »zadušiti« s podpičjem. Če tega ne storimo in imamo po več sto ponovitev, se

bodo vse izpisovale v glavno ukazno okno.

Slika 4.7: Primeri if in for stavkov

Page 60: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

52

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

5 Primeri

Programska primera v Matlabu bosta dva. Prvi je izračun jedra prereza, ki je preprost

primer nekaj for stavkov in grafične predstavitve rezultatov.

Drugi primer bo preračun podpornega zidu, ki bo zaradi daljšega računskega postopka in

dodatnih funkcionalnosti bistveno daljši od prejšnjih primerov.

5.1 Izračun jedra prereza

Jedro prereza je območje v prerezu nekega nosilca, kamor lahko apliciramo neko silo in bo

prerez nosilca vedno tegnjen ali tlačen. Poznavanje jedra prereza nam omogoča analizo in

dimenzioniranje nosilcev, ki slabo prenašajo natege. Tipični primer so nearmirani betonski

nosilci, ki mnogo boljše prenašajo tlake kot natege. V primeru, da pri takem nosilcu sila

(čeprav je tlačna) deluje izven jedra prereza, obstaja nevarnost (odvisno od obtežbe), da

se zaradi navora ustvari natezna cona in tam lahko nosilec poči. Če pa sila deluje v jedru

prereza, bo v tem primeru celoten prerez tlačen.

Program za izračun jedra prereza je poenostavljen in je primeren za enoosno simetrične

nosilce (Iyz=0). V program je potrebno vstaviti zunanje koordinate preseka glede na

koordinatni sistem na sliki 5.1. Začetno točko zaradi praktičnosti program še enkrat zapiše

kot peto točko. Vstavljamo samo 4 točke.

Enačbi za izračun koordinat jedra prereza sta zato poenostavljeni in sta sledeči:

𝑌𝑓 =𝐼𝑧∙(𝑧𝑖−𝑧𝑖−1)

𝐴∙(𝑦𝑖∙𝑧𝑖−1−𝑦𝑖−1∙𝑧𝑖) (5.1)

𝑍𝑓 =−𝐼𝑦∙(𝑦𝑖−𝑦𝑖−1)

𝐴∙(𝑦𝑖∙𝑧𝑖−1−𝑦𝑖−1∙𝑧𝑖) (5.2)

kjer je:

𝐼𝑧 - Vztrajnostni moment

𝐴 - Površina preseka

Page 61: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

53

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

𝐼𝑧 = 70437,5 𝑐𝑚4

𝐼𝑦 = 31972 𝑐𝑚4

𝐴 = 735 𝑐𝑚2

𝑖𝑧2 =𝐼𝑧

𝐴= 95.833 𝑐𝑚2

𝑖𝑦2 =𝐼𝑦

𝐴= 43.5 𝑐𝑚2

Sintaksa:

Urejevalnik skript odpremo s klikom na „New Script“, ki se nahaja levo zgoraj v glavnem

Matlab oknu. Za razliko od Teksasovega vmesnika ta nima Prgm in EndPrgm oznake.

Program ne zahteva dosti spremenljivk, zato se mi je zdel vnos z nekaj input funkcijami

zadosten. Še pred tem shranimo koordinate lika v matriki z0 in y0, kar naredimo tako:

Z0=[-15 15 6 -6] in y0=[0 0 35 35].

Vrednosti v matrikah z0 in y0 so preprosto zaporedne koordinate pripadajočih osi y in z.

Slika 5.1: Obravnavani prerez

Page 62: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

54

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V primerih, ko je lik bolj razgiban (T nosilec), je za izris poligona nosilca potrebno posebej

vstaviti koordinate vseh točk, ne samo tistih, ki so potrebne za izračun jedra prereza.

Te koordinate se vstavijo v spremenljivki zPol in yPol na enak način, kot zgoraj.

V prvi vrstici začnemo s vprašanjem, ki vpraša ali želimo vnesti še preostale podatke. Če

večkrat ponavljamo izračun ali če so bili podatki že shranjeni v Workspaceu, pride prav, da

ponovni vnos podatkov preskočimo. V prvi vrstici (slika 5.2) vidimo, da je Matlabov input

malo drugačen od Teksasovega. Pri Teksasu, bi spremenljivka bila takoj za tekstom, v

Matlabu pa je pred enačajem. Princip je kljub temu podoben. Pravtako presledki Matlabove

sintakse ne motijo, medtem ko pri Teksasu se pa lahko spremenijo v znak krat in to seveda

povzroča težave. Matlabovo sintakso je tudi lažje razhroščevati, saj Matlab navede točno

mesto, kje je do napake prišlo. V Teksasovi sintaksi je to pogosto iskanje igle v senu.

Torej, če ni potrebno vnesti podatkov vnesemo število 1 in If stavek bo preskočil vnos

členov 𝒊𝒛𝟐 in 𝒊𝒚𝟐. V 9. vrstici funkcija numel prešteje število elementov v matriki z0 (vseeno

je če je y0 ali z0) in vrednost shrani pod spremenljivko n0. Ta se rabi za prepis prve

koordinate na zadnje mesto. V vrstici 12 sledi for stavek, ki prepiše z0 in y0 matriki v y in z.

To je potrebno zato, ker v vrstici 16 in 17 sledi podvojitev prve koordinate, ki se zapiše na

zadnje mesto v matriki. To ne bi bilo možno direktno narediti, saj bi veljalo samo ob prvem

izračunu. Numel (z0) mora ostati statična vrednost zato, ker bi se drugače ob vsakem

ponovnem zagonu izračuna koordinatni matriki povečali za en set koordinat.

V 19. vrstici funkcija numel prešteje število elementov v novih matrikah. Vrednost n sedaj

služi za meje pri for stavkih.

Razne opombe, opozorila in vodila lahko izpišemo s pomočjo display funkcije. Sledi

komentar, ki je viden samo znotraj programa in služi kot navodilo programerju. Začetek

komentarja označimo s %.

Količina yi pove, za koliko je trenutna točka oddaljena od težišča. Zato je potrebno vsaki

točki odšteti vrednost težišča. Paziti je potrebno na koordinatne osi in predznake.

Page 63: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

55

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Zi količin ni potrebno računati, ker y os sovpada s simetralo, kar pomeni, da bi od z

vrednosti odštevali 0, kar je pa enako z. Zato so zi==z. To je tudi trenutno pomanjkljivost

kode v takšni obliki kot je zdaj; y os mora sovpadati s simetralo lika, da pravilno deluje.

Torej od 25 do 27 vrstice poteka for stavek, kjer se i-tim elementom matrike y odšteva y

vrednost težišča in jih shranjuje v matriko yi. Spremenljivka i gre od n do 1 s korakom -1.

Od 30 do 32 je naslednji if stavek, kjer se odštevajo yi vrednosti med seboj. Tukaj so meje

drugačne, saj odštevamo yi(i)-yi(i-1). Zaradi tega mora zadnja vrednost i-ja biti dva, ker na

koncu zanke se odštevata yi(2)- yi(1), ki je zadnji člen. Tako sedaj, ko imamo n elementov v

matriki y in z, dobimo n-1 vrednosti yi, kar na koncu rezultira v n-1 točk, ki jih iščemo.

Od 35. do 37. vrstice je isto kot za prejšnji for stavek, le da se tokrat računa za z vrednosti.

Slika 5.2: Zahteve za vnos podatkov in prepis točk v novo matriko

Page 64: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

56

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Naslednji for stavek računa količino yz, kar je imenovalec ulomka glavne enačbe za

izračun koordinat jedra prereza (enačbi 5.1 in 5.2).

Kar se tiče izračuna koordinat jedra prereza ostajata le še dva for stavka (vrstici 45 in 50).

Enačbi v for stavkih sta 5.1 in 5.2, ki sta sedaj zapisani bolj kompaktno, saj so posamezni

elementi bili izračunani ločeno. Vse for stavke, razen prvega, bi lahko združili v enega, saj

imajo iste meje in korake. Vzrok, zakaj je ločeno je v glavnem zaradi lažjega iskanja napak

in v splošnem boljša preglednost vmesnih rezultatov med pisanjem sintakse.

Na koncu ostane le še predstavitev rezultatov. Najprej narišemo prerez nosilca. Funkcija fill

nariše zapolnjen poligon za vrednosti zPol in yPol, argument 'b' je pa barva (blue). Prerez

nosilca in jedro prereza hočemo dobiti v isti sliki, zato je potrebno uporabiti funkcijo patch,

ki je ista kot fill, a s to lastnostjo, da nariše poligon v že obstoječo sliko. To je en način. Drugi

način je, da uporabimo hold on. Hold on pomeni, da se vsak naslednj graf nariše v istem

oknu. Končni efekt je isti.

Slika 5.3: Izračun cikličnih elementov

Page 65: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

57

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Vrstica 58 spremeni smer y koordinate. Naša y koordinata namreč gleda navzdol.

Axis equal normira obe osi tako, da je skala enaka. Se pravi da je y:z=1:1 na ekranu.

In na koncu še izpišemo dobljene koordinate s komentarjem.

Slika 5.4: Grafični prikaz rezultatov (od 55 dalje)

Page 66: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

58

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Rezultati:

Rezultat programa je narisan poligon prereza z vrisanim jedrom prereza. Izpišejo se tudi

koordinate v tekstovni obliki.

Opomba: V začetek skripte (še posebej, če jo večkrat ponavljamo ) je pametno vstaviti

vrstico, ki pobriše rezultate iz prejšnjega izračuna. Vmesni rezultati, ki se vpisujejo v

matrike se v bistvu samo prepisujejo. Kar pomeni, da če smo v prejšnjem izračunu imeli

prerez z več točkami kot sedaj, se bodo vrednosti, ki segajo prek trenutne dimenzije

matrike, ohranile. Taki rezultati pa seveda niso uporabni. Torej zapišemo na začetek

skripte:

clear n n0 y yi yf yyi yz z zzi zf

Slika 5.5: Jedro prereza lika

Page 67: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

59

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

-Dodatni primer I nosilca v težišču

Ni potrebno, da postavimo koordinatni sistem na zgornjo linijo prereza, kot je to bilo

storjeno s prvim primerom. To je zgolj praktično iz stališča vnašanja koordinat, saj če bo

težišče neko število 15.23984 bo lažje, če izhodišče ni v težišču.

Koordinatno izhodišče je v primeru I nosilca postavljeno v težišče in v tem smislu tudi

vstavimo koordinate. Točke T3, T4,T7 in T8 niso nujne za izračun jedra prereza v tem

primeru. Vstavitev večjih točk je služila zgolj za preveritev delovanja skripte z večjim

številom točk.

Slika 5.6: I nosilec

Slika 5.7: Jedro prereza I nosilca

Page 68: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

60

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

5.2 Preračun podpornega zidu

Program bo služil za preračun podpornega zidu. Osnovni model zidu je na skici slike 5.8.

Program bo upošteval različne variacije na ta model, ki bodo prikazani kasneje.

Ker je pri tem izračunu

potrebno vstaviti več

podatkov kot do zdaj, bomo

dodali samodejno generirano

tabelo z imeni spremenljivk.

Vgrajen bo tudi meni, kjer

bomo lahko izbirali med

različnimi opcijami in še

dodaten meni za izbor

projektnega postopka.

Rezultat programa bo narisan

poligon zidu in vrisane

napetosti s pripadajočima

napetostima.

Slika 5.8: Osnovni model zidu

Page 69: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

61

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Na sliki 5.9 so prikazani vplivi, odpornosti in vsi možni koti.

Slika 5.9: Polni model s vplivi in rezultantami

Page 70: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

62

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 5.10: Možne variacije zidov za program

Page 71: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

63

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Za avtomatski izračun teže zidu in njegovega

prijemališča od točke A se naredi tako, da se

razdeli na preprosto izračunljive enote OPC

in S. Njim pripadajo ročice r.

Slika 5.11: Ročice posameznih segmentov in dodatne točke

Page 72: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

64

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Program je po količini vrstic obsežnejši od prejšnjih. Predvsem je potrebno vstaviti več

podatkov. Uporabljen bo popup meni in samodejno generirana tabela podatkov.

Na sliki 5.12 je okno, ki se odpre ob zagonu programa. V okviru je nekaj navodil o vstavljanju

podatkov zidu. Pod njim sta dva „drop down“ menija. V prvem izbiramo med matriko

podatkov, izračunom in prikazom rezultatov.

Drugi meni vsebuje projektne pristope, ki določajo faktorje za računski postopek. Ko

določimo izbor nadaljujemo z gumbom „Nadaljuj“.

Slika 5.12: Vstopno okno programa

Page 73: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

65

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Sintaksa:

Okno na sliki 5.12 je rezultat sintakse med vrsticami 3 in 16. Ukaz v vrstici 3 odpre splošno

figure okno, ki ga lahko poljubno oštevilčimo. Figure okno je v splošnem nadrejen (parent)

drugim grafičnim elementom kot so teksti, meniji, gumbi itd. Zaradi tega se bodo elementi

(tako imenovani otroci - children), ki sledijo odprli v tem oknu.

V 4. in 8. vrstici sta definirana pop up menija. Upravljata se s funkcijo uicontrol.

V argumentih te funkcije je možno uporabiti mnogo nastavitev za dano vrsto elementa.

Lahko določimo pozicijo, font, barve, velikosti okvirjev itd.

Sintaksa deluje tako, da najprej navedemo nastavitev, ki jo želimo spreminjati in nato

parameter npr.: hpop = uicontrol('Style','popup', )

Kar pomeni, da bo zahtevani stil grafičnega elementa pop up meni. Lahko je tudi

checkbox, pushbutton...

Slika 5.13: Sintaksa vstopnega okna

Page 74: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

66

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Sledijo tekstualne vrednosti (string), ki se prikažejo v meniju. Vsak samostojni element

ločimo z znakom |.

V vrstici 6 se določi pozicija, pri čemer sta prvi dve števili koordinati x in y, drugi dve pa

dimenziji okna. Enote so piksli.

Izbrana vrednost menija, ko ga bomo uporabljali med delovanjem programa se shrani v

sklopu hpop.

Od 8 do 11 je naslednji meni, ki je s programskega stališča bolj ali manj enak kot prejšnji.

V vrstici 12 definiramo gumb „Nadaljuj“. Privzeti element funkcije uicontrol je pushbutton,

zato ni potrebno posebej navajati, da gre za gumb. V vrstici 16 funkcija uiwait preprečuje

izvajanje programa. Tako je za nadaljevanje izvajanja sintakse potrebno klikniti prej

omenjeni gumb „Nadaljuj“, pri čemer se ob kliku aktivira uiresume in nadaljuje izvajanje

programa. Gcf v oklepaju se nanaša na trenutno aktivno okno. Se pravi, da če je več gumbov

„Nadaljuj“, se upošteva tisti, ki je v trenutno aktivnem oknu. Lahko pa seveda definiramo

po svoje npr:

uiresume(figure(7))

uiwait(figure(7)).

V vrstici 14 je definiran tekst, ki se izpiše v oknu. V tem primeru sta pozicija in dimenzija

okvirja opisani z relativnimi velikostmi. V prejšnjem primeru so to bili piksli, v tem primeru

so pa odstotki od dimenzij okna.

Vrstici 19 in 20 sta pomembni saj izvlečeta zaporedno številko izbranega podmenija. Če v

podmeniju hpop2 izberemo tretjo opcijo bo val2=3. V nadaljevanju se bo ta informacija

uporabila za definiranje if stavka.

Nenazadnje še zapremo trenutno aktivno okno z vrstico 22.

Page 75: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

67

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

If stavek na sliki 5.14 odloča med Matriko podatkov, Izračunom in Rezultati. Stavek poteka

od vrstice 24 in vse do konca programa saj se izbor 2 nanaša na izračun, ki je dolg. Matrika

podatkov, v vrstici 25, je zaradi preglednosti na sliki 5.14 zamenjana s podprogramom

Tocke_zidu. V podprogramu je to, kar bi moralo biti v if stavku in bo prikazano v naslednji

sliki. Podprogram Tocke_zidu je samo dodaten program, ki je bil spisan posebej in ga na

enostaven način kličemo.

Torej val==1 odpre matriko podatkov, kamor vnesemo podatke, val==2 opravi izračun in

val==3 odpre matriko rezultatov.

Slika 5.14: Začetek if stavka, ki se aktivira glede na izbor iz vstopnega okna

Page 76: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

68

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Nadaljujemo pri val==1, ki je zdaj razširjen in ni več Tocke_zidu. Takoj za njim sledi novi if

stavek, ki se navezuje na prej izbrani projektni pristop iz drugega podmenija.

Da kreiramo novo spremenljivko ali matriko

obstaja več načinov. Poleg ročnega vpisa in

poimenovanja se da s sklicevanjem na novo

matriko ali stolpec, ki še ne obstaja. Kljub

temu, da ne obstaja, bo avtomatsko

generirana. Tega načina se poslužujemo na

sliki 5.15.

Vrstica 26 pomeni, da matrika, ki se imenuje

podatki, vsebuje stolpec imenovan x in da

želimo vrstici 7 pripisati vrednost 0. S tem se

generira matrika podatki in stolpec imenovan

x.

Da bi kreirali prazno matriko s tem načinom ne

gre. Iz tega razloga je potrebno dodeliti neko

vrednost, najbolje 0. V sklopu if stavka in v

istem smislu kot v vrstici 26 se sintaksa izvaja

do vrstice 61, kjer je konec notranjega if

stavka.

Slika 5.15: Projektni pristopi

Page 77: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

69

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Nadaljevanje po koncu if stavka od vrstice 63 do 69 se še zapišejo drugi prazni stolpci za

vnos specifične teže zidu in zemljine, kohezije c, strižni kot zemljine fi, obtežbe p, kot

površja zaledne zemljine beta in globino D.

Trenutno se še vedno nahajamo v if stavku za matriko podatkov. V tem delu se še odpre

okno s sliko, ki prikazuje možne variacije zidov s kratkim navodilom na vrhu okna. Sintaksa

za to poteka od 71 do 74.

Slika 5.16: Začetek računskega dela

Page 78: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

70

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Funkcija imshow odpre poljubno sliko v danem oknu. Shranjene morajo biti v izvorni mapi,

kjer so shranjeni programi in workspace datoteke. V nasprotnem primeru je potrebno

navesti celotno pot do slike.

Vrstica 75 je končno tista, ki dejansko odpre matriko „podatki“. Sicer jo lahko tudi ročno

odpremo iz seznama spremenljivk vendar je vseeno bolj fino, če se sama odpre.

Rezultat pogoja v vrstici 77 je zgolj odprtje matrike rezultatov.

Pri vrstici 80 se začne glavno telo izračuna. Pričetek sta dva for stavka, ki prepišeta x in y

vrednosti iz podatkovne matrike v samostojni matriki X inY. To je dobro zato, ker bi drugače

pri dostopu posameznih koordinat bilo potrebno navajati dolgo ime podatkovne matrike

(npr. podatki(5).x). Zdaj je pa samo x(5), kar je bistveno enostavneje in pregledneje.

Med vrsticami 97 in 104 na sliki 5.17 je vstavljeno eno okno z nekaj napotki za delovanje s

programom in gumbom za nadaljevanje. Okno se pojavi pred začetkom izračuna. Elementi

v kodi so bolj ali manj isti kot za gumb na začetku programa. Vrstice med 107 in 121 zgolj

prepišejo podatke iz matrike podatki v spremenljivke, ki so krajšega zapisa in bolj praktične

za nadaljno uporabo.

Page 79: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

71

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Naprej je še potrebno izračunati kot gama in zaledni kot alfa (na sliki 5.9).

Sledi if stavek (127), ki razlikuje računanje sprednjega kota zidu med primeroma, ko ima

zid spredaj nogo in ko je nima.

Slika 5.17: Informativno okno in prepis vrednosti iz matrike v lokalne spremenljivke

Page 80: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

72

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Podobno kot v vrstici 127 se tukaj (137) razlikuje med dvema različnima površinama in

ročicama elementa OPC5. Spet zaradi slučaja, ko ima zid spredaj nogo in ko je nima.

Slika 5.18: Izračun kotov, težišč in ploščin likov

Page 81: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

73

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V nadaljevanju (158) še sledijo izračuni ostalih segmentov S1 in S2, skupna teža sumag in

navor teže zidu okoli točke A sumarg.

Slika 5.19: Izračun ploščinske teže segmentov in njihovih navorov na točko A

Page 82: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

74

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Strižni kot zemljine (175) mora biti reduciran s predpisanim faktorjem in se izračuna z:

𝜑𝑑 = 𝑡𝑎𝑛−1 (𝑡𝑎𝑛 𝜑)

𝛾𝜑 (5.3)

kjer je:

𝜑 - kot notranjega trenja zemljine

𝛾𝜑 - varnostni faktor

Deltap je trenje med zidom in zaledno zemljino, ki je uporabniško določen, v programu je

privzet kot:

𝛿𝑎,𝑝 =2

3∙ 𝜑𝑑 (5.4)

Koeficient aktivnega zemeljskega pritiska (ka):

𝐾𝑎𝑔ℎ,𝑝𝑔ℎ =𝑐𝑜𝑠2(𝜑±𝛼)

𝑐𝑜𝑠2𝛼[1±√𝑠𝑖𝑛(𝜑±𝛿𝑎,𝑝)∙𝑠𝑖𝑛 (𝜑±𝛽)

𝑐𝑜𝑠(𝛼−𝛿𝑎,𝑝)∙𝑐𝑜𝑠 (𝛼+𝛽)]

2 . (5.5)

Slika 5.20: Izračun geomehanskih koeficientov

Page 83: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

75

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Za sprispevek obtežbe p je uporabljen ka2, s katerim se izračuna dodatek obtežbe v

rezultantni smeri:

𝐾𝑎𝑔,𝑝𝑔 =𝐾𝑎𝑔ℎ,𝑝𝑔ℎ

𝑐𝑜𝑠(𝛼−𝛿𝑎,𝑝) . (5.6)

Potrebno je še izračunati koeficient pasivnega odpora zemljine v horizontalni smeri (kp):

𝐾𝑝𝑔ℎ = 𝑡𝑎𝑛2(45 + 𝜑/2). (5.7)

Sledi izračun horizontalne in vertikalne projekcije aktivnega zemeljskega pritiska eah in

eav ter njunih ročic (185):

𝐸𝑎𝑔ℎ,𝑝𝑔ℎ =ℎ2

2∙ 𝛾𝑧𝑒𝑚 ∙ 𝐾𝑎𝑔ℎ,𝑝𝑔ℎ (5.8)

kjer je:

h - višina zidu

𝛾𝑧𝑒𝑚 - specifična teža zemljine

𝐸𝑎𝑔𝑣,𝑝𝑔𝑣 = 𝐸𝑎𝑔ℎ,𝑝𝑔ℎ ∙ 𝑡𝑎𝑛(𝛿𝑎,𝑝 − 𝛼). (5.9)

Ročice in koti so prikazani na sliki 5.9. V vrstici 189 imamo if stavek, ki računa ročici, ko je

zaledni del zidu nagnjen za nek kot 𝛼 in ko je navpičen. Po definiciji je kot 𝛼 negativen, če

je zid nagnjen k sebi. Od tod tudi pogoj alfa<0. V primeru ko je alfa==0 in je zid navpičen

je ročica preprosto x komponenta točke 3 ali točke 4, saj sta x vrednosti enaki.

V tej točki je še potrebno omeniti, da če hočemo, da kotne funkcije računajo v stopinjah,

moramo zapisati sind, cosd, tand. Dodaten „d“ pomeni degree. Če napišemo brez

dodanega d-ja, se računa v radianih.

Page 84: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

76

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Ker obtežba v zaledju zidu lahko je ali ni, zapišemo pogojni stavek. Ko je p večji od nič

računamo dodatno obtežbo zaradi obtežbe p, ki je imenovana eahdod v sintaksi:

𝐸𝑎𝑝 = 𝑝 ∙ ℎ ∙ 𝐾𝑎𝑔,𝑝𝑔 ∙𝑐𝑜𝑠 𝛼∙𝑐𝑜𝑠 𝛽

cos (𝛼+𝛽) (5.10)

Ročici teh dveh dodatnih napetosti (206,207) delujejo na polovici višine zidu za

horizontalno obtežbo, prijemališče vertikalne projekcije je pa na polovici zaledne

osnovnice zidu.

Upoštevati je še potrebno prispevek kohezije each in eacv:

𝐾𝑎𝑐ℎ,𝑝𝑐ℎ =2∙𝑐𝑜𝑠 𝜑∙cos 𝛽∙(1−tan 𝛼∙tan 𝛽)∙𝑐𝑜𝑠(𝛼−𝛿𝑎,𝑝)

1±sin (𝜑±𝛿𝑎,𝑝±𝛼±𝛽) (5.11)

𝐸𝑎𝑐ℎ = ±ℎ ∙ 𝑐𝑑 ∙ 𝐾𝑎𝑐ℎ,𝑝𝑐ℎ (5.12)

𝐸𝑎𝑐𝑣 = 𝐸𝑎𝑐ℎ ∙ tan (𝛿𝑎,𝑝 − 𝛼) (5.13)

Slika 5.21: Obtežbe zaradi zemeljskega pritiska, kohezije in zaledne obtežbe

Page 85: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

77

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Kjer je:

𝑐𝑑 - projektirana kohezija zemljine

Ročici se izračunata podobno kot v rsticah 189 do 193 s to razliko, da je prijemališče ročic

enako kot za obtežbo 𝐸𝑎𝑝.

Sedaj, ko so vse komponente vplivov znane, jih seštejemo v vertikalni in horizontalni

smeri.

Splošni izrazi za vertikalne (Vd) in horizalne (Hd) vplive:

𝑉𝑑 = 𝛾𝐺;𝑠𝑡𝑏 ∙ (𝛴𝐺𝑖 + 𝐸𝑎𝑔𝑣 + 𝐸𝑎𝑝𝑣+𝐸𝑎𝑐𝑣) (5.14)

kjer je:

𝑉𝑑 - projektna vrednost rezultantne sile, ki deluje

normalno na osnovo temelja.

𝛾𝐺;𝑠𝑡𝑏 - varnostni faktor,ki temelji na projektnem pristopu

Slika 5.22: Vsota vplivov v X in Y smeri, preverba na zdrs ter pasivni odpor

Page 86: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

78

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

𝐻𝑑 = 𝛾𝐺;𝑑𝑠𝑡 ∙ (𝐸𝑎𝑔ℎ + 𝐸𝑎𝑝ℎ+𝐸𝑎𝑐ℎ) (5.15)

kjer je:

𝐻𝑑 - projektna vrednost rezultantne sile, ki deluje

vzporedno z osnovo temelja

Osnovni izraz za zdrs :

𝑅𝑑;𝑧𝑑𝑟𝑠 =𝑡𝑎𝑛(𝛿𝑑)∙𝑉𝑑

𝛾𝑅;ℎ (5.16)

kjer je:

𝛿𝑑 = 𝜑𝑑 - za betonski temelj izveden na mestu

𝛿𝑑 =2

3𝜑𝑑 - za montažni temelj

Izrazi za pasivni odpor:

𝐸𝑝𝑔 =𝐷2

2∙ 𝛾𝑧𝑒𝑚 ∙ 𝐾𝑝 (5.17)

𝐸𝑝𝑐 = 𝐷 ∙ 𝑐𝑑 ∙ √𝐾𝑝 (5.18)

kjer je:

𝐷 - globina (slika 5.8)

Izpolnjen mora biti pogoj:

𝐻𝑑 ≤ 𝑅𝑑,𝑧𝑑𝑟𝑠 + 𝐸𝑝𝑔 + 𝐸𝑝𝑐 (5.19)

Kar pomeni, da vplivi na levi strani enačbe morajo biti manjši od odporov na desni.

Page 87: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

79

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V vrstici 238 se začne dvojni if stavek, ki preverja zdrs temelja. Če je odpornost na zdrs večja

od vpliva Hd, potem se izpiše „Rd>Hd zato temelj ne zdrsne“. Če odpornost ni dovolj velika,

se izvede prvi else, ki potem napiše, da je potrebno še dodatno upoštevati pasivni odpor.

Pasivni odpor Rpd je že bil izračunan prej in je že upoštevan v odpornosti. Izpis je tako zgolj

formalnost, ki opozori, da osnovni odpor ni zadoščal.

Torej če osnovni odpor ne zadošča, se aktivira notranji if stavek, ki preverja ali zadošča

vsota obeh odporov. Če zadošča se izpiše tretji komentar, če pa še vedno ne zadošča se pa

izpiše zadnji komentar.

Izraz v vrstici 255 je vsota navorov okoli točke A. Sumarg je navor teže zidu, ki je bil

izračunan v prejšnjih vrsticah.

Slika 5.23: Ugotavljanje odpornosti, ter navor vplivov na točko A

Page 88: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

80

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Izraz v 258. vrstici nam da ročico do prijemališča rezultante vplivov. Če jo odštejemo

polovici širine temelja, dobimo ekscentričnost e (260). J1 in j2 sta pogoja, ki določita

nadaljnjo predpostavko določitve kontaktnih tlakov pod temeljem. V bistvu ugotavljamo,

če je rezultanta v jedru prereza ali ne.

V naslednjem if stavku zato razlikujemo med dvema razporeditvama napetosti. Ko je

rezultanta v jedru prereza imamo tlačne napetosti na levem in na desnem koncu zidu;

sigmal in sigmad. Ko rezultanta ni v jedru prereza se tlaki predpostavljajo po trikotni

razporeditvi sigmar. Vsak izid tako še izpiše ali je v jedru prereza ali pa ni.

Enačbe za kontaktne tlake:

𝜎𝐿,𝐷 =𝑉𝑑

𝐵∙𝐿∙ (1 ∓

6∙𝑒

𝐵 ); L=1m' (5.20)

𝜎𝑅 =2∙𝑉𝑑

3∙(𝐵

2−𝑒)

∙ (1 ∓6∙𝑒

𝐵 ) (5.21)

Slika 5.24: Ugotavljanje prijemališča ter izračun napetosti pod temeljem

Page 89: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

81

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V zgornjem oknu sledijo izrazi za izračun koeficientov nosilnosti in na dnu glavna enačba

za izračun nosilnosti temeljnih tal. Iz programskega stališča nič posebnega.

Brezdimenzijski faktorji za nosilnost:

𝑁𝑞 = 𝑒𝜋 𝑡𝑎𝑛 𝜑𝑑′

∙ 𝑡𝑎𝑛2(45° +𝜑𝑑

2) (5.22)

𝑁𝑐 = (𝑁𝑞 − 1) ∙ 𝑐𝑜𝑡𝜑𝑑 (5.23)

𝑁𝛾 = 2 ∙ (𝑁𝑞 − 1) ∙ 𝑡𝑎𝑛𝜑𝑑 (5.24)

Brezdimenzijski faktorji za naklon temelja:

𝑏𝑞 = 𝑏𝛾 = (1 − 𝛼′ ∙ 𝑡𝑎𝑛𝜑𝑑)2 (5.25)

− 𝛼′ je kot osnove temelja v radianih

𝑏𝑐 = 𝑏𝑞 −1−𝑏𝑞

𝑁𝑐∙𝑡𝑎𝑛𝜑𝑑 (5.26)

Slika 5.25: Izračun koeficientov potrebnih za določitev odpornosti nosilnih tal

Page 90: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

82

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Brezdimenzijski faktorji za obliko temelja:

𝑠𝑐 =𝑠𝑞∙𝑁𝑞−1

𝑁𝑞−1 (5.27)

𝑠𝑞 = 1 +𝐵′

𝐿∙ 𝑠𝑖𝑛𝜑𝑑 (5.28)

𝑠𝛾 = 1 −𝐵′

𝐿∙ 𝑠𝑖𝑛𝜑𝑑 (5.29)

Pri daljših zidovih so ti količniki približno enaki 1, ker gre izraz 𝐵′

𝐿 proti 0;

𝐵′ = 𝐵 − |2𝑒|.

Nagib obtežbe zaradi H:

𝑖𝑞 = (1 −𝐻𝑑

𝑉+𝐴′∙𝐶𝑑∙𝑐𝑜𝑡𝜑𝑑)𝑚 (5.30)

𝑖𝛾 = (1 −𝐻𝑑

𝑉+𝐴′∙𝐶𝑑∙𝑐𝑜𝑡𝜑𝑑)𝑚+1 (5.31)

𝑖𝑐 = 𝑖𝑞 −1−𝑖𝑞

𝑁𝑐∙𝑡𝑎𝑛𝜑𝑑

(5.32)

- 𝑚 =2+𝐵′/𝐿′

1+𝐵′/𝐿′ ≅ 2 kadar H deluje v smeri 𝐵′.

Glavna enačba za nosilnost temeljnih tal:

𝑅𝑑 = 𝐴′ ∙ 𝑐𝑑 ∙ 𝑁𝑐 ∙ 𝑏𝑐 ∙ 𝑠𝑐 ∙ 𝑖𝑐 + 𝑞′ ∙ 𝑁𝑞 ∙ 𝑏𝑞 ∙ 𝑠𝑞 ∙ 𝑖𝑞 + 0.5 ∙ 𝛾𝑧𝑒𝑚 ∙ 𝐵′ ∙ 𝑁𝛾 ∙ 𝑏𝛾 ∙ 𝑠𝛾 ∙ 𝑖𝛾

(5.33)

kjer je:

𝑞′ = ℎ ∙ 𝛾𝑧𝑒𝑚

𝐴′ = 𝐵′ ∙ 𝐿′

𝐿′ = 1, ker računamo na tekoči meter.

Page 91: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

83

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Sedaj, ko je vse izračunano še preostane zapis rezultatov v lahko berljivo tabelo oziroma

matriko. Uporabimo isti pristop kot v začetku, ko so se podatki iz matrike „podatki“

zapisovali v samostojne spremenljivke. Postopek za to je od 296. do 354. vrstice. Rezultat

bo strukturna matrika (struct) s 42 polji. If stavki, ki so na slikah 5.26 in 5.27 skrbijo za urejen

Slika 5.26: Vnašanje rezultatov v matriko

Page 92: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

84

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

izpis podatkov. Če nimamo obtežbe p ali kohezije c, je izpis rezultatov, ki izhajajo iz teh

količin nesmiseln, ker so nič. Zato s pogoji dosežemo izpis samo relevantnih podatkov.

Izpis podatkov lahko naredimo tudi drugače.

Matlab vsebuje funkcijo publish, ki lahko izvozi celoten program, medtem pa še v realnem

času požene program in zajame računske in grafične rezultate. Projekt lahko objavimo v

več formatih; html, .doc, .pdf, .xml, .latex, .ppt. Prikaz izračuna in rezultatov je tako lepo

urejen dokument, ki je berljiv na najbolj pogostih platformah.

Z dodatnim tekstom, slikami in pojasnili je izpis lahko še boljši in bolj informativen.

Slika 5.27: Nadaljevanje vnosa rezultatov v matriko

Page 93: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

85

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

V naslednjih vrsticah bo prikazano, kako se lotiti preprostega grafičnega prikaza dobljenih

rezultatov.

Celotni sklop je if stavek, ki razlikuje med razporeditvijo napetosti, ko je rezultanta znotraj

jedra prereza in ko ni znotraj jedra prereza. Na sliki 5.28 je del, ki predvideva prvo od

omenjenih situacij. Narisati poligon računanega zidu ni problem, saj smo koordinate s

prepisom shranili v x in y matriki. Kar je bolj zanimivo, je prikazati napetosti z njihovimi

vrednostmi. Ker vemo, da je skupna obremenitev Vd normalna na osnovo temelja, bo moral

poligon za napetosti tudi biti tako narisan. Torej moramo kreirati dvojico koordinat, ki bodo

orisale zeleni poligon, prikazan na sliki 5.29. Vrednosti k in l so te koordinate.

Vrednost napetosti na obeh straneh je tista, ki daje zunanjima točkama distanco od osnove

temelja. Zato je pomik točk 3 in 4 odvisen od teh dveh vrednosti. Napetosti so skalirane s

količnikom 75, saj bi drugače bil poligon prevelik.

Slika 5.28: Grafični izpis napetosti pod temeljem

Page 94: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

86

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Zaradi temelja z osnovo pod kotom, je potrebno v y

smeri točki 2 in 3 zamakniti za y vrednost točke 3

rdečega poligona. Tako se rdeči in zeleni poligon ne

prekrivata in se le dotikata.

S tem so koordinate poligona določene. Preostane še

nekaj nastavitev grafičnega okna (slika 5.28). Prej

smo uporabljali samo osnovno obliko okna (figure

(8)), sedaj bo zapis bolj razširjen.

Okno lahko nastavimo tako, da se prikazuje vedno na

istem mestu. To določita prvi dve števili (370), ki sta

izhodišče grafičnega okna. Drugi dve števili sta

dimenziji okna.

Okno lahko poimenujemo, kar omogoči argument

'Name'.

Zapis v vrstici 371 nariše rdeči poligon, funkcija patch pa omogoči, da še naprej rišemo v

isto okno, sicer se odpre novo okno.

S fiksiranjem okna se zdaj lahko poslužimo statične umestitve tekstovnih oken pod

temeljem. Zapisi koordinat v annotation funkciji so v deležih od trenutne ločljivosti figure

okna. Ker je le-to določeno, bo tekst vedno na istem mestu. Vsebino tekstovnega okna

zapišemo za identifikatorjem 'String'. Če bi želeli imeti tekst, bi napisan tekst moral biti v

apostrofih. Ker pa je tekst v tem primeru številčna vrednost spremenljivke pa mora biti brez

apostrofov.

Nenazadnje hočemo, da je razmerje med koordinatami 1:1, da bo izris poligona realen. To

določa izraz v 377. vrstici.

Slika 5.29: Napetosti pod temeljem

Page 95: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

87

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Za drugi del if stavka velja isto kot za prvi del z to razliko, da gre za poligon s tremi

točkami.

Pri koncu damo izpisati matriko rezultatov s tem namenom (vrstica 400), da če bomo

objavili (publish) rezultate, da se v datoteki lepo izpišejo.

Izraz 401 se ne objavi ampak se le odpre matrika v delovnem okolju Matlaba.

In čisto na koncu še end, ki je del if stavka omenjenega v začetku, ki odloča med matriko

podatkov, izračunom in rezultati.

Slika 5.30: Lastnosti grafičnega okna

Page 96: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

88

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

-Primer zidu z zaledno obtežbo in kohezijo

Težnostni podporni zid je potrebno preveriti na zdrs, nosilnost temeljnih tal ter lego in

naklon rezultante (po standardu EN-1997-1: drenirano stanje). Uporabimo projektni

pristop 1 s kombinacijo delnih količnikov A2 »+« M2 »+« R1.

Fizikalni podatki:

-𝛾𝑧𝑒𝑚𝑙𝑗𝑖𝑛𝑒 = 19 𝑘𝑁

𝑚3

-𝛾𝑧𝑖𝑑𝑢 = 25 𝑘𝑁

𝑚3

-𝑐 = 20 𝑘𝑃𝑎

-𝜑 = 29°

Faktorji varnosti:

-𝛾𝑐 = 1.25

-𝛾𝜑 = 1.25

-𝛾𝐺,𝑑𝑠𝑡 = 1.0

-𝛾𝐺,𝑠𝑡𝑏 = 1.0

-𝛾𝑅;ℎ = 1.0

Nalogo bomo seveda izvedli s programom.

Slika 5.31: Model obravnavanega zidu

Page 97: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

89

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Program zaženemo v Matlabu tako, da vpišemo njegovo ime in stisnemo enter. Lahko bi

ga tudi odprli v levem seznamu in ga potem zagnali iz tistega okna.

Slika 5.32: Zagon programa

Page 98: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

90

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Ob zagonu se pojavi vstopno okno. Če nimamo že od prej vnešenih podatkov, izberemo

„Matrika podatkov“ in željeni projektni pristop.

Slika 5.33: Izbirno okno programa

Page 99: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

91

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Po kliku na gumb „Nadaljuj“ se v zgornjem oknu odpre razpredelnica, kamor vnesemo

koordinate zidu in druge podatke v zvezi z geometrijo in zemljino. Opazimo, da so zaradi

izbora projektnega pristopa v prejšnjem meniju že izpolnjene vrednosti varnostnih

faktorjev.

Hkrati z razpredelnico se še odpre slika, ki prikazuje pomen določenih podatkov in možne

oblike zidov, ki jih program lahko računa (slika Figure 6 je pomanjšana, zato je izgled na

sliki 5.35 popačen).

Slika 5.34: Pojavno okno s skicami izračunjivih zidov

Page 100: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

92

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Po vnosu podatkov zaženemo program še enkrat, da pridemo do vstopnega okna. V tem

primeru sedaj izberemo „Izračun“ in kliknemo „Nadaljuj“.

Slika 5.35: Vnos podatkov v podatkovno matriko

Page 101: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

93

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Program problem izračuna in na koncu odpre matriko rezultatov kot je prikazano na slikah

5.38 in 5.39.

Slika 5.37: Matrika rezultatov Slika 5.36: Matrika rezultatov

Page 102: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

94

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

In na koncu še grafični prikaz napetosti pod

temeljem.

Iz rezultatov tako lahko zaključimo, da

odpornost proti zdrsu zadošča in je:

𝑅𝑑,𝑧𝑑𝑟𝑠 ≥ 𝐻𝑑

99.64𝑘𝑁

𝑚′≥ 63.68

𝑘𝑁

𝑚′

Rezultanta vplivov ni v jedru prereza, zato je

predvidena trikotna razporeditev kontaktnih

tlakov (slika 5.39).

In še odpornost zemljine Rd presega vrednost

vpliva Vd:

𝑅𝑑,𝑡𝑎𝑙 ≥ 𝑉𝑑

619.55𝑘𝑁

𝑚′≥ 224.69

𝑘𝑁

𝑚′

Slika 5.38: Grafični prikaz napetosti pod temeljem

Page 103: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

95

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

6 ZAKLJUČEK

Obravnavali smo dva jezika za programiranje. Tako imenovani Texas Basic in Matlabov

lastni jezik. Ob natančnem pregledu sintakse ugotavljamo, da je jedro logike sintakse bolj

ali manj enako. Texas Basic je jezik, ki je po našem mnenju zelo primeren za začetnike. Sama

sintaksa je enostavno berljiva in razumljiva. Matlabov jezik je na prvi pogled mnogo bolj

kompliciran, kot se pa zdi. Resnica je ta, da je Matlabov jezik prav tako udoben , ko se ga

navadimo.

Oba jezika imata prednosti in slabosti. Kot že omenjeno prej, je glavna prednost Texas

Basica njegova izjemna podpora za simbolno računanje. Vnos, rezultati, zapiski, vse

simbolne operacije izvajamo z neverjetno lahkoto. Tega Matlab nima, vsaj ne v taki meri.

Tak dodelan simbolni sistem dela CAS kalkulatorje kot izjemno prilagodljivo in nepogrešljivo

orodje. Ni važno, koliko oklepajev ali korenov ali ulomkov imamo, vnos je vedno enostaven

in naraven. Zaradi tega je primeren za hitre in spontane programske rešitve, ki večinoma

ne zahtevajo dolge sintakse.

To je tudi slabost Texasovega jezika, saj ni primarno namenjen za pisanje velikih programov.

Ne zato, ker ni zmogljiv, ampak zato, ker je izjemno nepraktično pisati daljšo kodo, tudi na

računalniku.

Vmesnik za pisanje Matlabove sintakse je čisto nasprotje. Preglednost je neprimerljivo

boljša in sintakso je mogoče lepo urediti, saj podpira tudi barvanje kode. Spremenljivke

imajo svoje okno in samega programa ni potrebno ročno shranjevati po mučnem

Teksasovem postopku. Razhroščevanje je dodelano in hitrejše. Nastale napake v sintaksi

imajo tudi boljše opise, zaradi česar je lažje ugotoviti, za kakšno napako gre.

Z vsemi temi elementi je očitno, da je Matlabov jezik narejen za zahtevnejšo rabo, saj resnici

na ljubo, se v tem delu dotikamo le površine zmogljivosti tega jezika.

Kar se tiče praktičnih računskih postopkov, sta oba jezika dovolj zmogljiva. Razlika je v

udobju. Včasih je bolj priročno imeti prenosljiv kalkulator, ki ima hkrati še zmogljivost

razvitost jezika, diverziteta ukazov, hitrost in njegova prepletenost z drugimi platformami.

Page 104: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

96

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Pri opisu osnovnih funkcij smo videli, koliko več možnosti za določeno funkcijo ima Matlab.

Če ima Texas Basic dve jih ima Matlab vsaj 10. Torej imamo možnost izbrati tisti pristop, ki

našemu problemu najbolj ustreza.

Tako lahko zaključimo, da je Texasov jezik zelo pomemben prispevek v svetu računskih

problemov. Najboljša točka tega jezika je naraven simbolni vnos, ki nam prihrani veliko

muk. Še boljše je to, da lahko naravni izraz kopiramo iz Texas Basica in prilepimo v Matlabov

urejevalnik. Naraven zapis se nato prevede v tipkan zapis in nam prihrani veliko časa.

Matlabov programski jezik je odlična izbira za pisanje programov na namiznem računalniku

Kombinacija obeh naprav in obeh programskih jezikov pa je najbolj učinkovita.

Page 105: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

97

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

7 VIRI IN LITERATURA

[1] B. Macuh, 2011, Zemeljska dela in temeljenje, 3. izdaja,Univerza v Mariboru.

[2] B. Macuh, 2008, Zbirka enačb, diagramov in tabel s področja geotehnike, 3.

izdaja,Univerza v Mariboru.

[3] B. Macuh, 2010, Zapiski iz vaj statike, Fakulteta za gradbeništvo, Maribor.

[4] H. Vrecl Kojc, 2012 Zapiski iz vaj temeljenja, Fakulteta za gradbeništvo, Maribor.

[5] M. Skrinar, 2014 Zapiski iz predavanj Mehanike linijskih elementov, Fakulteta za

gradbeništvo, Maribor.

[6] Texas Instruments, 2006 - 2011 TI-nspire student software guidebook, Texas

Instruments Incorporated

[7] MathWorks, 2015, Spletna dokumentacija Matlab. Dostopno na:

http://www.mathworks.com/help/matlab/, [18.3.2015]

[8] https://en.wikipedia.org/wiki/MATLAB, [15.9.2015]

OSTALI INTERNETNI VIRI:

- http://www.dummies.com/how-to/content/use-the-tinspire-define-command-to-store-

a-functio.html. [18.3.2015]

- http://www.dummies.com/how-to/content/how-to-reference-a-rectangular-block-of-

cells.html. [18.3.2015]

- http://math.kendallhunt.com/documents/daa2/cntns/daa2cntns_014_06.pdf.

[18.3.2015]

- http://tibasicdev.wikidot.com/68k:mode-settings. [18.3.2015]

- http://www.manualslib.com/manual/325944/Ti-Ti-Nspire.html?page=77#manual.

[18.3.2015]

- https://nf.nci.org.au/facilities/software/Matlab/techdoc/ref/uicontrol.html.

[18.3.2015]

Page 106: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

98

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

8 PRILOGE

8.1 Seznam slik

Slika 2.1: Funkcija define ....................................................................................................... 3

Slika 2.2: Okno za vnos novega programa ............................................................................. 4

Slika 3.1: Statični sistem konstrukcije .................................................................................. 20

Slika 3.2: Prvi del programa ................................................................................................. 23

Slika 3.3: Jedro programa .................................................................................................... 24

Slika 3.4: Izpis notranjih statičnih količin v preglednici ....................................................... 25

Slika 3.5: Drugi del programa, ki velja za interval od 45°-90° ............................................. 26

Slika 3.6: Program za delta h vrednost ................................................................................ 28

Slika 3.7: Rezultat programa ................................................................................................ 29

Slika 3.8: Betonska plošča razdeljena na enake segmente ................................................. 30

Slika 3.9: Preglednica, kjer so shranjene koordinate segmentov ........................................ 31

Slika 3.10: Začetni del programa ......................................................................................... 32

Slika 3.11: Enojni element ................................................................................................... 33

Slika 3.12: Dodatni pravokotnik pri horizontalno raztegnjenih kombinacijah ................... 35

Slika 3.13: Superpozicije likov pri izračunu vplivov med diagonalnimi segmenti ............... 35

Slika 3.14: Izračun modrega in zelenega pravokotnika ....................................................... 37

Slika 3.15: Izračun vijoličnega ali rjavega pravokotnika ...................................................... 38

Slika 3.16: Izračun rdečega pravokotnika ............................................................................ 39

Slika 3.17: Vzporedna segmenta ......................................................................................... 40

Slika 3.18: Izračun roza in rumenega pravokotnika ............................................................ 40

Slika 3.19: Rezultati.............................................................................................................. 41

Slika 4.1: Vmesnik za simbolno računanje Mupad .............................................................. 43

Slika 4.2: Glavno okno Matlaba ........................................................................................... 44

Slika 4.3: Okno z razlago in primeri ..................................................................................... 46

Slika 4.4: Funkcije za prikazovanje ...................................................................................... 47

Slika 4.5: Operatorja and in or pri if stavkih ........................................................................ 49

Page 107: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

99

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 4.6: Vnos točk s pomočjo miške .................................................................................. 50

Slika 4.7: Primeri if in for stavkov ........................................................................................ 51

Slika 5.1: Obravnavani prerez .............................................................................................. 53

Slika 5.2: Zahteve za vnos podatkov in prepis točk v novo matriko ................................... 55

Slika 5.3: Izračun cikličnih elementov .................................................................................. 56

Slika 5.4: Grafični prikaz rezultatov (od 55 dalje) ............................................................... 57

Slika 5.5: Jedro prereza lika ................................................................................................. 58

Slika 5.6: I nosilec ................................................................................................................. 59

Slika 5.7: Jedro prereza I nosilca .......................................................................................... 59

Slika 5.8: Osnovni model zidu .............................................................................................. 60

Slika 5.9: Polni model s vplivi in rezultantami ..................................................................... 61

Slika 5.10: Možne variacije zidov za program ..................................................................... 62

Slika 5.11: Ročice posameznih segmentov in dodatne točke ............................................. 63

Slika 5.12: Vstopno okno programa .................................................................................... 64

Slika 5.13: Sintaksa vstopnega okna .................................................................................... 65

Slika 5.14: Začetek if stavka, ki se aktivira glede na izbor iz vstopnega okna ..................... 67

Slika 5.15: Projektni pristopi ................................................................................................ 68

Slika 5.16: Začetek računskega dela .................................................................................... 69

Slika 5.17: Informativno okno in prepis vrednosti iz matrike v lokalne spremenljivke ...... 71

Slika 5.18: Izračun kotov, težišč in ploščin likov .................................................................. 72

Slika 5.19: Izračun ploščinske teže segmentov in njihovih navorov na točko A ................. 73

Slika 5.20: Izračun geomehanskih koeficientov .................................................................. 74

Slika 5.21: Obtežbe zaradi zemeljskega pritiska, kohezije in zaledne obtežbe ................... 76

Slika 5.22: Vsota vplivov v X in Y smeri, preverba na zdrs ter pasivni odpor ...................... 77

Slika 5.23: Ugotavljanje odpornosti, ter navor vplivov na točko A ..................................... 79

Slika 5.24: Ugotavljanje prijemališča ter izračun napetosti pod temeljem ......................... 80

Slika 5.25: Izračun koeficientov potrebnih za določitev odpornosti nosilnih tal ................ 81

Slika 5.26: Vnašanje rezultatov v matriko ........................................................................... 83

Slika 5.27: Nadaljevanje vnosa rezultatov v matriko........................................................... 84

Slika 5.28: Grafični izpis napetosti pod temeljem ............................................................... 85

Page 108: Računalniško programiranje v gradbeništvu z uporabo … · V kalkulator jo vpišemo tako, ... Računalniško programiranje v gradbeništvu z uporabo Texas asic in Matlab Java Program

100

Računalniško programiranje v gradbeništvu z uporabo Texas Basic in Matlab Java

Slika 5.29: Napetosti pod temeljem .................................................................................... 86

Slika 5.31: Lastnosti grafičnega okna ................................................................................... 87

Slika 5.32: Model obravnavanega zidu ................................................................................ 88

Slika 5.33: Zagon programa ................................................................................................. 89

Slika 5.34: Izbirno okno programa ....................................................................................... 90

Slika 5.35: Pojavno okno s skicami izračunjivih zidov.......................................................... 91

Slika 5.36: Vnos podatkov v podatkovno matriko ............................................................... 92

Slika 5.37: Matrika rezultatov .............................................................................................. 93

Slika 5.38: Matrika rezultatov .............................................................................................. 93

Slika 5.39: Grafični prikaz napetosti pod temeljem ............................................................ 94

8.2 Seznam preglednic

Tabela 2.1: Tabela velja Za Nspire CAS in CAS CX kalkulatorje ........................................... 16

Tabela 2.2: Tabela velja za starejše kalkulatorje ................................................................. 17

8.3 Naslov študenta

Marcel Kuferšin

Pot na Novine 6

2212 Šentilj v Slovenskih goricah

8.4 Kratek življenjepis

Rojen 20. 6. 1990 v Murski Soboti. Obiskoval osnovno šolo med 1997-2005 in srednjo šolo

med 2005-2009. Od leta 2009 vpisan na fakulteto za gradbeništvo in med tem časom

pridobil interes za programiranje in lesene energetsko učinkovite zgradbe.