Matlab - jak vytvořit cyklus procházející jména polí?
Zdravim mel bych dotaz, jestli by nekdo vedel, jak vytvorit, cyklus kter yprochází všechna jména polí ve struktuře str a mění zadané vlastnosti objektu line.
Přikládám zacatek kód
Změna předmětu, původně: Matlab (host)
Určitě jsem to dělal a ne jednou. A dalo mi to vždy nějaké to hledání v nápovědě.
Hlavní je dostat se k těm součástem struktury, to je funkce fieldnames ta vrátí všechna jména. A ta se pak dají projít cyklem. A pokud jde o jejich změnu tak potom zjišťovat jestli tam vybrané pole je a pokud ano, tak se podle toho zařídit. Pak je tu ještě přístup k "vypočítanému" jménu, ale to se taky po chvilce hledání v dokumentaci lehce vyřeší.
Někdy jsem taky potřeboval rozlišit struktury s časem, aby mi nekolaboval program, který byl postavený na ně, ale nějak jsem ve workspacu měl i jiné struktury. Byl to program, který cyklem procházel celý workspace (seznam proměnných jsem získal whos) a pro (původně všechny) struktury volal funkci na jejich zpracování. Pak se použila funkce isfield(promenna,'time') a pokud vrátila false, tak se prostě tato proměnná přeskočila, protože to nebyl časový průběh. To by se možná na zadaný úkol hodilo lépe.
Myslím že vše potřebné je v dokumentaci na stránce Structures a odkazech v ní.
Jo a pokud jde o úpravy grafů, tak na to jsem udělal bezpočet skriptů nebo funkcí, na změnu tloušťky čar, barev, srovnání měřítka a všechno možné další, co bylo potřeba, ale nechce se mi to moc hledat, pokud je to školní úkol, zvládnete to jistě také. Mám pocit, že tam nějak ty operace se strukturama nefungovaly (pracuju převážně ve 2010b vím že v novějších verzích se to kolem grafů změnilo, třeba handle už neni číslo ale objekt/struktura), možná jsem to ale jen nezkoušel, každopádně to že ne všechno má třeba vlastnost xlim jsem už řešil.