Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 29. 11. 2015 20:07

MateSl
Zelenáč
Příspěvky: 10
Reputace:   
 

Matlab - loop pomocí for

Ahoj,

snažím se Matlabu naprogramovat algoritmus na vyřešení vlastních tvarů konstrukce (otázka dynamiky stavebních konstrukcí). Mám definovaný cyklus:

//forum.matweb.cz/upload3/img/2015-11/23666_Matlab.JPG

Tento cyklus bych chtěl, aby mi počítal 2. až 5. vlastní tvar konstrukce (1. již znám a používám ho pro výpočet druhého /fi1/) - jenže k tomu potřebuju vždy předchozí vlastní tvar (pro 5. vlastní tvar tedy potřebuji znát předešle 4), viz následující obrázek:

//forum.matweb.cz/upload3/img/2015-11/23918_Matlab_2.JPG

Nevíte někdo, jak to vyřešit? Samozřejmě bych mohl skript zkopírovat 5x za sebe a vždy doplnit řádku s konstantou c(p), pokud bych měl ale více než 5 vlastních tvarů, nebylo by takové řešení už příliš elegantní.

Děkuji za odpovědi!
MateSl

Offline

 

#2 29. 11. 2015 22:54

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 920
Reputace:   63 
 

Re: Matlab - loop pomocí for

Zdravím,
problém bych rozdělil na více částí (obecně):
- vytvořil bych samostatnou funkci pro jeden tvar.
- funkci zavolám ve smyčce a pomocí indexu by si přečetl parametry pro funkci, která se provede a výsledek se zapíše do stejného pole ale o vyšším indexu 
- smyčka inkrementuje index a pokud nebude na konci, vrátí se na předcházející bod
- program skončil a v poli jsou vypsány všechny tvary srovnané podle indexu


LibreOffice Verze: 25.8.4.2, Maxima 5.49.0 (SBCL)

Offline

 

#3 30. 11. 2015 13:39

MateSl
Zelenáč
Příspěvky: 10
Reputace:   
 

Re: Matlab - loop pomocí for

↑ mák:

Ahoj,
děkuju za reakci. Nicméně v matlabu jsem naprostý začátečník - včera jsem to zapnul prvně - a právě na problém s indexováním jsem ještě nepřišel. Když to zapíšu normálně matematicky, tak bych potřeboval v závislosti na parametru $p = (2, 3, 4, 5)$ zjišťovat funkce ve tvaru $c_{p} = fi_{p}^{-1} * M * x_0$, ze které by se následně počítal vektor $x_{0,p} = x_0 - \sum_{p=2}^{5}c_p * fi_p$.

Opravdu ale netuším, jak tohle zapsat v syntaxi matlabu. (?) Včera jsem strávil spoustu času hledáním, ale moc mi to nepomohlo.

MateSl

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson