• systémové rozhraní matlab. Poznámky k Matlabu. Vytvoření grafického uživatelského rozhraní (GUI Matlab)

    V této kategorii se podíváme na efektivní akce potřeba pracovat s
    programu MATLAB, jakož i pro přípravu a prezentaci výsledků sezení
    tento program. Zde budou diskutovány funkce rozhraní.
    Programy MATLAB a použití M-souborů. Představíme vám novinku
    příkaz MATLAB 7, příkaz publish, který se používá k
    formátovaný výstup. Dáme vám také několik jednoduchých tipů na ladění.
    vaše M-soubory.


    rozhraní matlab programy

    Počínaje verzí 6 má program MATLAB rozhraní tzv
    Desktop programu MATLAB (dále jen Desktop). K tomuto rozhraní
    obsahuje příkazové okno, o kterém pojednává kapitola 2.

    plocha počítače

    Ve výchozím nastavení obsahuje plocha čtyři okna:
    Příkazové okno (Příkazové okno) na pravé straně plochy, okna
    Aktuální adresář (aktuální adresář) a pracovní prostor (pracovní prostor) nahoře
    levé straně a okno Historie příkazů (Historie příkazů) v levé dolní části.
    Všimněte si, že chcete-li přepínat mezi okny aktuálního adresáře
    (Aktuální adresář) a Pracovní prostor (Pracovní prostor) jsou záložky,
    opakování názvu okna. Zobrazení oken můžete ovládat pomocí
    Nabídka plochy (ve verzi 6 nabídka Zobrazit), umístěná nahoře
    části plochy, navíc můžete upravit velikost oken
    přetažením okraje okna myší. Příkazové okno
    (příkazové okno) je okno, do kterého zadáváte příkazy a
    instrukce, které způsobí, že program MATLAB počítá, kreslí a
    provádět mnoho dalších působivých věcí, které jsou zde popsány
    rezervovat. Zbytek oken bude popsán v samostatné části dále v tomto tutoriálu.
    Plocha obsahuje panel nabídek a panel nástrojů. Panel
    nástroje obsahuje ikony (zkratky), které poskytují přístup k některým
    prvky programu, které si můžete vybrat z nabídky. Mnoho
    Položky nabídky mají také vpravo zobrazené klávesové zkratky
    z položky nabídky. Některé z těchto klávesových zkratek závisí na vašem
    operační systém, v podstatě je nebudeme zmiňovat. Nicméně vy
    můžete tuto funkci považovat za užitečnou a používat klávesnici
    kombinace ve vaší práci, abyste vyvolali položky nabídky, které nejčastěji používáte
    aplikovat.

    Každé okno na ploše obsahuje dvě malá tlačítka vpravo nahoře
    roh. Jeden z nich ve tvaru [x] umožňuje zavřít okno a druhý ve formuláři
    zakřivená šipka, umožňuje odepnout okno z plochy (vrátit okno
    zpět na plochu můžete vybrat příkaz nabídky Desktop => Dock (Desktop
    tabulka => Pin) na neukotvené okno nebo kliknutím na zakřivenou šipku,
    umístěný na liště nabídek).

    • Přestože Plocha poskytuje některé nové funkce a společné rozhraní pro Windows a Unixové verze MATLABu, program s otevřenou Plochou může stále běžet mnohem pomaleji než základní rozhraní příkazového okna, zejména na starších verzích počítačů. Chcete-li pracovat v programu MATLAB se starým rozhraním, musíte program spustit pomocí příkazu matlab -nodesktop

    Pracovní prostor

    V kapitole 2 jste představili jasné a koho příkazy, které můžete použít.
    volání, abyste měli přehled o proměnných, které jste nastavili během relace
    programy MATLAB. Všechny proměnné jsou umístěny v oblasti paměti počítače,
    s názvem "Pracovní prostor". Zobrazí se úplný seznam nastavených proměnných
    ve stejnojmenném okně Workspace. Zobrazit toto okno
    můžete to provést zadáním příkazu workspace nebo na otevřené ploše klepněte
    myši na záložce Pracovní plocha ve spodní části okna Aktuální
    Adresář (Aktuální adresář). Okno Workspace obsahuje seznam
    aktuální proměnné a jejich velikosti (nikoli však hodnoty proměnných). jestli ty
    dvojitým kliknutím na proměnnou se zobrazí hodnota proměnné
    nové okno s názvem Array Editor, které můžete
    použít k úpravám jednotlivé prvky ve vektorech a maticích.
    (Toto okno lze také otevřít zadáním příkazu openvar a názvu souboru
    proměnnou.) Proměnnou můžete z "pracovního prostoru" odstranit zvýrazněním
    to v okně Workspace (Workspace) a výběrem příkazu nabídky Edit => Delete
    (Editace => Smazat).
    Pokud potřebujete ukončit relaci a nechcete následně počítat
    vše znovu, pak můžete uložit aktuální "pracovní prostor" pomocí
    uložit příkazy. Například po zadání příkazu save se uloží xnyfile
    hodnoty všech daných aktuálních proměnných v souboru s názvem myfile.mat. Na
    uložit pouze hodnoty proměnných X a Y, zadejte následující:

    >> uložit můj soubor X Y

    Když zahájíte novou relaci a chcete obnovit jejich hodnoty
    proměnné, použijte příkaz load. Například zadáním příkazu load myfile
    obnoví hodnoty všech proměnných uložených v souboru myfile.mat.

    • Ve výchozím nastavení se proměnné ukládají v binárním formátu, který je běžný v MATLABu, ale můžete také ukládat a načítat data (příkazy pro uložení a načtení) v textovém formátu ASCII. Podrobnosti naleznete v online nápovědě k těmto příkazům. Tato funkce může být užitečná pro výměnu dat s jinými programy.

    Aktuální adresář a vyhledávací cesta

    Nové soubory, které vytvoříte v programu MATLAB, budou uloženy
    váš aktuální adresář. Název tohoto adresáře se zobrazí na panelu
    desktopové nástroje a soubory a podadresáře, které aktuální adresář obsahuje
    zobrazí se v okně Aktuální adresář. Zobrazovaný název
    aktuální adresář, můžete také použít příkaz pwd ("tisk funguje
    adresář“ v příkazovém okně (Command
    okno) a můžete také zobrazit obsah aktuálního adresáře zadáním
    dir nebo je příkaz.

    • Termín "složka" je nyní více používán než "adresář"; pro souborový systém počítače mezi nimi není žádný rozdíl. Budeme používat termín "katalog", protože program MATLAB tento termín používá ve své dokumentaci. Rozhraní programu však někdy používá termín „složka“, například ve sloupci Typ souboru v okně Aktuální adresář.

    Možná budete chtít změnit aktuální výchozí adresář nebo vy
    chcete mít samostatné adresáře pro různé projekty. Můžeš
    změnit aktuální adresář v programu MATLAB pomocí příkazu cd, aktuální okno
    Adresář (Aktuální adresář) nebo rozevírací seznam Aktuální adresář
    (Aktuální adresář) na panelu nástrojů Plocha. Můžete zadat jméno
    adresář v tomto poli a stiskněte klávesu (Enter). vyberte požadovaný adresář
    dříve používané kliknutím na tlačítko se šipkou na pravé straně pole, popř
    vyberte adresář kliknutím na ikonu (...) Vyhledat složku,
    umístěna napravo od pole.
    Například na počítači s operačním systémem Windows
    výchozí aktuální adresář je podadresář s názvem work,
    umístěný v instalačním adresáři MATLABu; například by to mohlo být
    adresář C:\MATLAB7\work. Můžete vytvořit nový adresář, řekněme ProjectA,
    uvnitř něj zadáním mkdir ProjectA. Můžete také kliknout pravým tlačítkem
    tlačítko myši v okně Aktuální adresář (Aktuální adresář) a vyberte příkaz
    menu Nový => Složka (Vytvořit => Složka) nebo klikněte na ikonu Nová složka
    (Nová složka) umístěná na panelu nástrojů tohoto okna. Pak
    zadejte cd ProjectA nebo na něj dvakrát klikněte v okně Aktuální
    Adresář (Aktuální adresář), aby se tento adresář stal vaším aktuálním adresářem
    adresář. Poté budete moci pracovat se soubory tohoto adresáře v aktuálním
    zasedání programu MATLAB.

    Z výše uvedeného tedy můžeme usoudit, že je potřeba hodně prohlížet dodatečné informace a alternativy!

    Odeslat svou dobrou práci do znalostní báze je jednoduché. Použijte níže uvedený formulář

    Dobrá práce na web">

    Studenti, postgraduální studenti, mladí vědci, kteří využívají znalostní základnu ve svém studiu a práci, vám budou velmi vděční.

    Vloženo na http://www.allbest.ru/

    VYTVÁŘENÍ GRAFICKÝCH APLIKACÍ V PROSTŘEDÍ MATLABu

    Směrnice pro laboratorní práce z oboru "Automatizace inženýrských výpočtů" pro studenty všech forem vzdělávání oboru 230100 - Informatika a výpočetní technika,

    IA. Selivanová, A.A. Bukin

    V.A. palačinky

    Jekatěrinburg UrFU 2012

    1. Principy tvorby grafických rozhraní

    Grafické aplikace MATLABu se skládají z oken, která obsahují ovládací prvky ve formě tlačítek, seznamů, přepínačů, příznaků, posuvníků, polí pro zadávání a výstup dat a kontextových nabídek. Vazby mezi okny jsou vytvořeny pomocí programový kód. Vytvoření grafické aplikace zahrnuje Další kroky:

    1. Vývoj grafického uživatelského rozhraní (Graphical User Interface), které spočívá v uspořádání ovládacích prvků v rámci okna.

    2. Programování obsluhy událostí způsobených prací s ovládacími prvky.

    Proces práce na aplikaci je postupné přidávání funkčnosti a ladění a končí testováním. Konečným výsledkem je program s grafickým uživatelským rozhraním, obsažený v několika souborech, který se spouští zadáním názvu programu na příkazovém řádku MATLABu.

    2. Vyjádření problému

    Účel tohoto laboratorní práce- nastudování základních principů tvorby grafických aplikací v balíku MATLAB.

    V procesu postupné implementace této práce je nutné vyvinout grafickou aplikaci v prostředí MATLAB. Příklad okna aplikace je na obrázku 1. Uspořádání prvků se může od navrhovaného lišit.

    Rýže. 1 Okno aplikace

    3. Prostředí PRŮVODCE

    Spuštěním příkazu přepněte do interaktivního vývojového prostředí GUI – GUIDE průvodce na příkazovém řádku. V okně, které se zobrazí, vyberte PrázdnýGUI na záložce VytvořitNovýGUI a klepněte na OK. Otevře se okno editoru rozhraní (obr. 2).

    Rýže. 2 Okno editoru rozhraní

    Editor uživatelského rozhraní obsahuje:

    * lišta menu;

    * panel nástrojů pro ovládání aplikací;

    * příprava okna aplikace s aplikovanou mřížkou;

    * vertikální a horizontální pravítka;

    * Panel nástrojů pro přidávání prvků rozhraní do okna aplikace.

    Editor aplikace MATLAB umožňuje umístit různé prvky rozhraní. Chcete-li to provést, klepněte na odpovídající tlačítko na panelu nástrojů v levé části okna editoru rozhraní a umístěte vybraný objekt do formuláře.

    Aplikace v tento moment je v režimu úprav. Jakýkoli objekt lze z okna odstranit pomocí tlačítka Vymazat, zvýraznění předem. Aplikace se spouští pomocí tlačítka Běh nebo výběrem příslušné položky nabídky Nástroje. Po spuštění programu budete vyzváni k uložení projektu. Vyberte název pro uložený soubor, např. mygui. Obr a adresář pro uložení a poté klepněte na Uložit. Aplikace se spustí v samostatném okně s výchozím názvem . Uživatel má přístup k ovládacím prvkům hostovaným v aplikaci.

    3.1 Programování událostí

    Grafická aplikace v MATLABu je uložena ve dvou souborech s příponami. Obr A. m, první z nich obsahuje popis formuláře okna a druhý - kód programu. Přidání prvku rozhraní do editoru automaticky vygeneruje šablonu obslužné rutiny události (například obslužnou rutinu kliknutí na tlačítko) v souboru programového kódu.

    Vytvořme aplikaci, jejíž okno obsahuje pole pro zobrazení grafických prvků ( sekery) obsahující souřadnicové osy a dvě tlačítka ( TAMknoflík) pro vykreslení grafu funkce a vymazání pole.

    Umístěte první tlačítko a objekt na formulář sekery jak je znázorněno na Obr. 3. Štítek se automaticky umístí na tlačítko TAMknoflík. Každý grafický prvek má sadu vlastností, které určují jeho vzhled a chování. Název grafického prvku Štítek umožňuje rozlišovat mezi prvky rozhraní. Dejte tlačítku název, který popisuje jeho funkci.

    Rýže. 3 Umístění součástí

    Chcete-li to provést, klepněte pravým tlačítkem myši na tlačítko a v seznamu, který se otevře, zavolejte editor vlastností vlastnictvíInspektor, nebo poklepejte levým tlačítkem myši (obr. 4).

    Rýže. 4 Okno Property Inspector

    V okně editoru vlastností, které se otevře, změňte hodnotu Štítek na btnPlot.Tento název bude později použit pro přístup k vlastnostem tlačítka při programování. Můžete si všimnout, že název je dán podle ovládacího prvku a jeho budoucí funkce. (knoflík - knoflík, Spiknutí- stavět). Podobně dejte objekt sekery název axMain.

    Když v běžící aplikace uživatel klikne na tlačítko, poté se zavolá obsluha události, jejíž název je tvořen z názvu prvku, podtržítka a slova zpětné volání(Posouzení). V současné době neobsahuje žádné operátory. Názvy prvků je vhodné nastavit před voláním handleru, abyste v budoucnu nemuseli měnit název vygenerované funkce. Chcete-li vyvolat obslužnou rutinu, klepněte pravým tlačítkem myši na rozevírací seznam pro btnPlot, vyberte v něm Pohledzpětná volání a běžet zpětné volání, změňte otevřenou obsluhu události, jak je uvedeno ve výpisu 1.

    Výpis 1.

    btnPlot.

    mygui.m:

    x=-2,5:0,6:2;

    drawPlot(x, y, úchyty);

    Chcete-li vytvořit funkci drawPlot, v rozhraní MATLABu vyberte položku nabídky soubor, pak rozevírací seznam Nový vybrat předmět Skript. Vytvořený funkční soubor vytvořte podle výpisu 2 a uložte jej do adresáře se souborem mygui. m.

    Výpis 2.

    Funkce kreslení grafu volaná z btnPlot.

    drawPlot.m:

    changeMarker(handles)

    změnit barvu (držadla)

    Pro funkce changeMarker A změnit barvu vytvořit prázdnou Skript soubory (pahýly). Uložte oba soubory a spusťte aplikaci z editoru aplikace. Stisknutím tlačítka ve spuštěné aplikaci by se měl zobrazit graf funkce v objektu axMain. Zavřete okno aplikace a pokračujte v práci v editoru formulářů. Přidejte druhé tlačítko s názvem btnCučit se. Přejděte na funkci zpracování událostí druhého tlačítka. Ozdobte volání funkce plotClearDialog, jak je uvedeno ve výpisu 4.

    Výpis 3.

    Zpracovat událost tlačítka s názvem btnCučit se.

    mygui.m:

    uložit funkci plotClearDialog ve stejnojmenném Skript soubor, později jej upravíme.

    Výpis 4.

    Funkce vymazání grafu, volaná z btnCučit se.

    plotClearDialog.m:

    Spusťte aplikaci a ujistěte se, že stisknutím prvního tlačítka se zobrazí graf funkce a druhým se graf vymaže.

    3.2 Návrh rozhraní

    3.2.1 Správa vlastností objektu

    Vývoj aplikací zahrnuje změnu vlastností objektů, které obdrží ve výchozím nastavení při umístění do formuláře. Některé vlastnosti, jako je popisek na tlačítku nebo jeho velikost, se nastavují při vytváření objektu v režimu úprav. Všechny vlastnosti lze měnit programově za běhu aplikace.

    3.2.2 Návrh formuláře

    Pokračujte v práci na aplikaci, měli byste změnit popisky na tlačítkách, například na " Stavět" A " Průhledná". Tlačítka mají vlastnost Tětiva, hodnota, kterou nabývá, je řetězec zobrazený na tlačítku. Změňte popisky tlačítek v inspektoru, jak bylo popsáno výše. Spusťte aplikaci.

    3.2.3 Změna vlastností z kódu

    Vlastnosti objektu lze nastavit programově za běhu. Vylepšete aplikaci tak, aby pouze „ Stavět" a když kliknete na tlačítko Stavět" zobrazí se graf a přestane být dostupný. Po stisknutí tlačítka „ Průhledná».

    Blokování tlačítek závisí na vlastnosti umožnit, s hodnotou na k dispozici a vypnuto Ne. Nastavení hodnot vlastností objektů v programu se provádí pomocí funkce soubor.

    Funkce soubor se volá se třemi parametry - odkazem na objekt, jehož vlastnost je třeba změnit, názvem vlastnosti a její hodnotou. Poslední dva argumenty jsou uzavřeny v apostrofech. Argumenty hObject A kliky funkce handleru obsahují ukazatele. V hObject je uložen ukazatel na objekt, jehož událost se právě zpracovává, a kliky je vektor ukazatelů na všechny objekty ve formuláři. Například, kliky. btnSpiknutí je ukazatel na tlačítko btnPlot. Nastavit v editoru vlastností pro tlačítko " Průhledná" vlastnictví umožnit rovnat se vypnuto a poté upravte program tak, aby odpovídal výpisu 5.

    Výpis 5.

    Manipulace se stavy tlačítek.

    mygui. m:

    funkce btnPlot_Callback(hObject, eventdata, handles)

    x=-2,5:0,6:2;

    drawPlot(x, y, úchyty);

    plotDialog(hObject, handles);

    funkce btnClear_Callback(hObject, eventdata, handles)

    set(hObject, "Enable", "off");

    set(handles.btnPlot, "Enable", "on");

    Vytvořte útržek funkce plotDialog. Nezapomeňte uložit jako před dalším spuštěním aplikace. m soubor také. Obr soubor.

    3.3 Práce na aplikaci

    3.3.1 Spuštění aplikace

    Aplikace se spouští nejen z editoru aplikace. Ke spuštění aplikace stačí zadat její název jako příkaz v příkazovém řádku >> mygui

    Adresář obsahující aplikaci musí být obsažen ve vyhledávacích cestách MATLABu nebo to musí být aktuální adresář.

    3.3.2 Návrh rozhraní

    Často se vyžaduje, aby malý pohyb myši způsobil změnu polohy objektu o nějaký pevný krok. Mřížka editoru aplikací umožňuje tento diskrétní pohyb. Výběr položky MřížkaaVládci Jídelní lístek Nástroje vede k zobrazení dialogového okna.

    Vlajky ukázatvládců A ukázatmřížka odpovídají zobrazení pravítek a mřížky v editoru aplikace a rozevíracího seznamu Mřížkavelikost umožňuje vybrat velikost buněk mřížky. Minimální povolená velikost je deset pixelů, což umožňuje přesné umístění ovládacích prvků v okně aplikace. Vazba pohybu na čáry mřížky nastane, když je nastaven příznak Snapnamřížka.Umožňuje umisťovat objekty a měnit jejich velikost přesně podél čar mřížky.

    3.4 Prvky programovacího rozhraní

    3.4.1 Vlajky a rámečky

    Vlajky zaškrtávací políčko se používají ke změně hodnot se dvěma možnými hodnotami. Přidejte dva příznaky pomocí panelu nástrojů a nastavte hodnoty Tětiva pro ně mřížka podleX A mřížka podleY. Tyto příznaky by měly nastavit zobrazení odpovídající mřížky v grafu.

    V rámci rámce je obvykle seskupeno několik ovládacích prvků s podobným účelem. panel se jménem "Síť".Změnit velikost prvku axMain, čímž se uvolní místo pro rám vpravo. Nakreslete rámeček na okno aplikace pomocí příslušného tlačítka. Přidejte do rámu dvě vlajky. Umístěte vysvětlující štítky vedle vlajek a nastavte jejich hodnoty Štítek rovnat se chbxGridX A chbxGridY, poté proveďte potřebné změny kódu, jak je uvedeno ve výpisu 6.

    Výpis 6.

    Zpracování událostí zobrazení mřížky.

    mygui.m:

    Převeďte booleovské hodnoty na řetězcové hodnoty.

    mapaHodnota.m:

    if get(hObject, property)

    Změny v konstrukci s podmínkou přítomnosti mřížky.

    drawPlot.m

    3.4.2 Spínače

    Přepínače Rádioknoflík poskytují uživateli možnost měnit hodnoty s více možnými hodnotami. Vždy je nastaven pouze jeden přepínač ve skupině. S jejich pomocí je například možné realizovat přepínání značek pro uzlové hodnoty na čtverce nebo kruhy.

    Přidejte nový panel do okna aplikace knoflíkskupina(uspořádá přepínač pro Rádioknoflík sami), zadejte pro něj značku MarkGroup, Název "Markery" a poté na něj použijte tři přepínače s názvy rbMarkCirC, rbMarkSq, rbMarkNone a nápisy - kruhové značky, "značkové čtverce", "bez značek" respektive.

    Stav přepínače je určen jeho vlastností hodnota: Pokud hodnota rovná se jedné, spínač je zapnutý. Nastavte vlastnost na 1 v editoru vlastností hodnota přepínač označený "bez značek", pak bude povolen při spuštění programu.

    Výpis 7.

    Nastavte možné hodnoty.

    mygui. m:

    handles.output = hObject;

    guidata(hObject, handles);

    changeMarker(handles)

    Funkce změní značku podle zvoleného přepínače.

    changeMarker.m:

    markers = getappdata(handles.figure1, "optionsValues");

    Funkce vrátí aktuální značku.

    getMarkerValue.m:

    Funkce vrátí aktuální přepínač v zadané skupině.

    getSelectedOption.m:

    index = čítač;

    3.4.3 Seznamy

    Pomocí rozevíracího seznamu můžete poskytnout možnost vybrat barvu čáry grafu. Přejděte do režimu úprav a přidejte rozbalovací nabídku Pop- nahoruMenu se štítkem pBarva, jehož prvky jsou struny "modrý","Červené", "zelená"(pole Tětiva ve víceřádkovém režimu).

    Spusťte aplikaci a ověřte, že rozevírací seznam obsahuje požadované položky. Výběr různé struny dokud nezmění barvu čáry - je třeba naprogramovat událost zpětné volání rozbalovací seznam.

    Výpis 8.

    Vektor s květinami uložíme v kontextu formuláře.

    mygui.m:

    funkce GuiProj_OpeningFcn(hObject, eventdata, handles, varargin)

    barvy = ["b", "r", "g"];

    Zavolat Změnit barvu na obsluhu seznamu.

    mygui.m:

    změnit barvu (držadla)

    Změňte barvu čáry.

    ChangeColor.m:

    funkce changeColor (držadla)

    thePlot = getappdata(handles.axMain, "plot");

    3.4.4 Posuvníky

    Pomocí posuvníku lze nastavit například tloušťku čáry grafu. Přidejte posuvník Posuvník do okna aplikace a nastavte název scrWidth. Poskytněte proužek s textovým vysvětlením "Tloušťka čáry".

    Nyní musíte určit shodu mezi polohou jezdce proužku a číselnou hodnotou vlastnosti hodnota.

    Kompletní následující nastavení z editoru nemovitostí:

    1. V max zadejte deset a dovnitř Min- jednotka. Vlastnosti max A Min posuvníky jsou zodpovědné za hranice zapsaných hodnot hodnota při pohybu posuvníku.

    2. Určete výchozí polohu jezdce proužků. Klikněte na tlačítko v řádku s názvem vlastnosti a v okně, které se zobrazí hodnota změňte hodnotu na jedničku.

    3. Vstupte do nemovitosti SliderStep. Jeho hodnota je vektor dvou složek, z nichž první určuje relativní změnu hodnota při kliknutí na tlačítka se šipkami posuvníku a druhý - při tažení posuvníku myší. Měli byste nastavit hodnotu a stisknutím tlačítek pásma se změní hodnota o deset procent a kliknutím myši vpravo nebo vlevo od posuvníku na dvanáct. Rozšiřte řádek SliderStep kliknutím na znaménko plus vlevo od názvu vlastnosti a v řádcích, které se objeví X A na zadejte 0,1 a 0,2.

    Výpis 9.

    Změňte tloušťku čáry.

    mygui. m:

    thePlot = getappdata(handles.axMain, "plot");

    Změna tloušťky čáry během výstavby.

    drawPlot.m

    V tento případ realizované odposlechy výjimečných situací pomocí hromady Snaž se A chytit(například když Spiknutí ještě neinicializováno). V čem chytit je ponecháno prázdné, protože není třeba provádět žádnou akci, změna řádku jednoduše nebude fungovat.

    3.4.5 Oblast pro zadávání textu

    Velmi často je potřeba do aplikace zadat nějaká data. K tomu existují speciální oblasti pro zadávání textu. Přidejme možnost změnit název grafu.

    Na panelu nástrojů vyberte oblast pro zadávání textu UpravitText a dát tomu jméno upravitNázev. Změňte výchozí hodnotu textového pole na prázdné (pole vymažte Tětiva).

    Výpis 10. Změna názvu grafu.

    mygui. m

    pokud ispc

    jiný

    konec

    title(get(hObject, "String"))

    drawPlot.m

    programování grafických aplikací matlab

    3.5 Dialogová okna a nabídky aplikace

    3.5.1 Okno potvrzení

    V systému MATLAB je možné přidat dialogová okna (obr. 5), např. pro vrácení nechtěných stisků tlačítek. Mělo by se zobrazit dialogové okno, ve kterém uživatel potvrdí, zda je skutečně potřeba graf vymazat.

    Rýže. 5 Dialogové okno

    Funkce questdlg vytvoří potvrzovací dialog , který má v nejjednodušším případě dva vstupní parametry - řetězec s textem uvnitř dialogového okna a nadpis okna. Ale když přidáte další tři řádky, můžeme změnit názvy tlačítek (ve výchozím nastavení Ano, Ne, zrušení).

    Pojďme změnit existující soubor plotClearDialog. m jak je uvedeno ve výpisu 11.

    Výpis 11.

    Přidejte dialogové okno, které se zobrazí při volání

    plotClearDialog.m:

    funkce plotClearDialog(hObject, handles)

    yesButton = "Ano";

    noButton = "Ne";

    message = "Vymazat graf";

    if strcmp(tlačítko, anoButton)

    cla

    konec

    Odebrat z ovladače tlačítka " Průhledná» tlačítko pro odemknutí budovy.

    mygui.m:

    funkce btnClear_Callback(hObject, eventdata, handles)

    plotClearDialog(hObject, handles);

    3.5.2 Čtení dat ze souboru

    Prostředí MATLAB poskytuje možnost ukládat a načítat objekty v binárním nebo textovém formátu. Příkazy se používají k načtení souboru typu save. zatížení A Uložit, které načítají a ukládají soubory, resp.. Vytvářejte a zapisujte vstupní data do souboru data. txt, název uloženého vektoru musí být mymatrix.

    Funkce errordlg je navržen tak, aby vytvořil dialogové okno s chybovou zprávou. vstupní argumenty errordlg jsou řetězce s textem a titulkem okna.

    Výpis 12. Dialog pro výběr zdroje dat grafu.

    plotDialog.m:

    default = "výchozí";

    fromFile = "Ze souboru";

    errorCaption = "Chyba!";

    vysledek = questdlg(dialogCaption, "mygui", default, fromFile, default);

    if strcmp(výsledek, ze souboru)

    Snaž se

    mymatrix = load("data.txt");

    chytit

    konec

    sMatrix = velikost(mojematice);

    errordlg(errorMessage, errorCaption)

    konec

    x = mymatice(:,1);

    y = mymatice(:,2);

    konec

    if strcmp (výsledek, výchozí)

    x=-2,5:0,6:2;

    y = exp(-x.^2);

    konec

    drawPlot(x, y, úchyty)

    Odeberte funkci z obslužné rutiny tlačítka "Sestavit". drawPlot a nahradit s plotDialog.

    mygui.m

    funkce btnPlot_Callback(hObject, eventdata, handles)

    set(hObject, "Enable", "off");

    set(handles.btnClear, "Enable", "on");

    plotDialog(hObject, handles)

    V tomto případě musí soubor obsahovat dva sloupce odpovídající úsečkám a pořadnicím bodů pro vykreslení. Implementuje kontroly dimenze dat ze souboru a také kontrolu číselných údajů.

    3.5.4 Nabídky oken

    V balíku MATLAB můžete také implementovat kontextové a okenní nabídky. Vlastnictví Jídelní lístekbar objekt okna aplikace postavy odpovědný za dostupnost standardních menu soubor, Upravit, Nástroje, Okno A Pomoc v běžící aplikaci. Umístění a programování menu se provádí pomocí editoru menu.

    Spusťte editor nabídky (obr. 6) z ovládacího panelu nebo výběrem položky nabídky Nástroje, pak Jídelní lístekEditor.

    Rýže. 6 Okno editoru nabídky

    Okno editoru menu obsahuje dvě karty pro: Jídelní lístekbar- pro lištu nabídky aplikace, KontextJídelní lísteks- pro kontextové menu. Klepněte na příslušné tlačítko na panelu nástrojů editoru nabídek a vytvořte nabídku aplikace. Navigátor má čáru Nepojmenovaná 1 (Obr. 7), kliknutím myší jej nastavte na aktuální.

    Rýže. 7 Okno pro vytvoření nabídky aplikace

    V terénu označení je nastaveno označení prvku, a Štítek- název objektu. Zadejte text " Plán"na strunu označení a dát jméno mnGraph. Dalším krokem je vytvoření položek nabídky. Kliknutím na tlačítko NovýJídelní lístekpoložka, vytvoří se nová položka nabídky. Set point nápis « Stavět" a dát tomu jméno mnGraphPlot. Přidejte další podpoložku nabídky tak, aby byla aktuální jako první Plán v navigátoru. Stejným způsobem nastavte titulek « Průhledná" a jméno mnGraphClear. Navigátor nabídky by měl obsahovat strukturu zobrazenou na obrázku 8. Nabídka Plán má první úroveň a body « Stavět", « Průhledná"- druhý.

    Rýže. 8 Nabídka aplikací

    Spusťte program. Výběr z menu Plán otevře nabídku. Zatímco při odkazování na položky « Stavět" A « Průhledná" nic se nestane, měli byste naprogramovat obsluhu událostí položek nabídky. Přidat obslužné nástroje nabídky do mygui. m a dovnitř plotClearDialog. m.

    Výpis 13.

    Nastavte potřebné hodnoty pro sestavení tlačítek.

    mygui.m:

    plotDialog(hObject, handles)

    plotClearDialog(hObject, handles)

    Nastavte potřebné hodnoty pro tlačítka, která chcete odstranit.

    plotClearDialog.m:

    3.5.6 Kontextové nabídky

    Ovládací prvky, včetně těch vytvořených během provozu aplikace, mohou mít své vlastní kontextové menu, které je dostupné po stisknutí LMB.

    Přejděte na kartu KontextMenu v editoru nabídky a klikněte na tlačítko vytvořit kontextová nabídka, v navigátoru nabídek se zobrazí řádek pro nabídku. Dejte mu jméno cmLine. Všimněte si, že na panelu vlastností není žádný vstupní řádek označení, protože rozbalovací nabídka by neměla mít popisek. Vytvořte tři položky nabídky pomocí tlačítka NovýJídelní lístekpoložka. Definujte pro ně štítky modrá červená, zelená a jména cmLineBlue, cmLineRed, cmLineGreen respektive (obr. 9).

    Rýže. 9 Kontextová nabídka

    Ve spuštěné aplikaci se po kliknutí pravým tlačítkem na čáru grafu nezobrazí kontextová nabídka, jakou právě kontextová nabídka je cmLine je v aplikaci přítomen jako samostatný objekt, který není vázán na konstruovanou linii. Proto má každý vytvořený objekt nějakou vlastnost UIContextMenu, jehož hodnotou může být ukazatel na existující kontextovou nabídku. vlastnost by měla být nastavena UIContextMenu hodnota ukazatele nabídky cmLine, obsažené ve struktuře kliky. Čára se v aplikaci nakreslí buď při stisknutí tlačítka uživatelem « Stavět", nebo při výběru položky « Stavět" Jídelní lístek Plán. Pojďme napsat obslužnou rutinu kontextové nabídky mygui. m.

    Výpis 14.

    Změna hodnoty pro kontextovou nabídku.

    mygui.m:

    funkce cmLineBlue_Callback(hObject, eventdata, handles)

    set(handles.pmColor, "Hodnota", 1)

    změnit barvu (držadla)

    funkce cmLineRed_Callback(hObject, eventdata, handles)

    set(handles.pmColor, "Value", 2)

    změnit barvu (držadla)

    funkce cmLineGreen_Callback(hObject, eventdata, handles)

    set(handles.pmColor, "Value", 3)

    změnit barvu (držadla)

    Provádění změn v sestavení.

    drawPlot. m

    set(newPlot, "UIContextMenu", handles.cmLine)

    3.5.7 Zadání uživatelské funkce

    Přidejte do formuláře novou textovou oblastUpravitText se štítkem userFunction a nápis "Uživatelský vstup". Pomocí tohoto pole bude uživatel moci zadat funkci z klávesnice, a pokud zadání není správné, mělo by se zobrazit chybové hlášení errordlg. Změníme funkci plotDialog. m.

    Výpis 15.

    Přidávání uživatelského vstupu.

    plotDialog. m

    funkce plotDialog(hObject, handles)

    default = "výchozí";

    fromFile = "Ze souboru";

    errorMessage = "Neznámý formát datového souboru";

    errorCaption = "Chyba!";

    dialogCaption = "Zdroj dat";

    if strcmp(výsledek, ze souboru)

    Snaž se

    mymatrix = load("data.txt");

    chytit

    errordlg(errorMessage, errorCaption)

    konec

    sMatrix = velikost(mojematice);

    if (sMatrix(2) ~= 2 | ndims(mymatice)~=2 | ~isnumeric(mymatice))

    errordlg(errorMessage, errorCaption)

    konec

    x = mymatice(:,1);

    y = mymatice(:,2);

    konec

    if strcmp(výsledek, userInput)

    Snaž se

    x=-2,5:0,6:2;

    y = subs(y);

    chytit

    konec

    konec

    if strcmp (výsledek, výchozí)

    x=-2,5:0,6:2;

    y = exp(-x.^2);

    konec

    drawPlot(x, y, úchyty)

    4. Zadání práce v laboratoři

    Účelem tohoto cvičení je aplikovat dovednosti tvorby aplikací v prostředí GUIDE balíku MATLAB.

    Formulace problému: potřebujete vytvořit aplikaci, jejíž okno obsahuje grafický prvek sekery, tři tlačítka, tři pole pro zadávání textu.

    Do jednoho z textových polí se zadá funkce, počet členů, které mají být získány rozkladem této funkce na Taylorovu řadu, do druhého, segment, na kterém je graf funkce postaven, do třetího. Kliknutím na jedno tlačítko získáte graf původní funkce. Kliknutím na druhé tlačítko můžete získat graf součtu daného počtu členů v Taylorově řadě a přidat jej do dříve vytvořených grafů. Grafy by měly mít jinou barvu. Stisknutím třetího tlačítka vymažete okno, ve kterém jsou zobrazeny grafy.

    5. Závěr

    Je třeba poznamenat, že prostředí GUIDE umožňuje poměrně snadno napsat aplikaci pro provádění vlastního výzkumu. Hlavní výhodou vizuálního prostředí GUIDE ve srovnání s mnoha jinými moderními programovacími jazyky je, že vývojář může používat velkou sadu hotových Funkce MATLABu, které implementují algoritmy pro řešení široké škály problémů.

    Dodatek obsahuje ukázkové cvičení pro vytvoření grafického uživatelského rozhraní. Práce je zaměřena na studium základních principů tvorby aplikací v balíku MATLAB a programování zpracování událostí pro rozhraní.

    Bibliografie

    1. Anufriev I.E. Výukový program Matlab 5.3/6.x / I.E. Anufriev. Petrohrad: BHV-Peterburg, 2003. 736 s.

    2. Dyakonov V.P. MATLAB 6.5 SPI/7 + Simulink 5/6 v matematice a modelování / V.P. Djakovov. M.: SOLONPress, 2005. 576 s. (Řada "Profesionální knihovna").

    aplikace

    Výpis zdrojového kódu funkce

    mygui. m

    funkce varargout = mygui(varargin)

    gui_Singleton = 1;

    gui_State = struct("gui_Name", mfilename,...

    "gui_Singleton", gui_Singleton,...

    "gui_OpeningFcn", @mygui_OpeningFcn,...

    "gui_OutputFcn", @mygui_OutputFcn,...

    "gui_LayoutFcn", ,...

    "gui_Callback", );

    if nargin && ischar(varargin(1))

    gui_State.gui_Callback = str2func(varargin(1));

    konec

    pokud nargout

    = gui_mainfcn(gui_State, varargin(:));

    jiný

    gui_mainfcn(gui_State, varargin(:));

    konec

    funkce mygui_OpeningFcn(hObject, eventdata, handles, varargin)

    handles.output = hObject;

    guidata(hObject, handles);

    optionsList = [ handles.rbMarkNone handles.rbMarkSq handles.rbMarkCirc ];

    optionsValues ​​​​= [ "n" "s" "o" ];

    setappdata(hObject, "seznam voleb", seznam voleb);

    setappdata(hObject, "optionsValues", optionsValues);

    barvy = ["b", "r", "g"];

    setappdata(hObject, "barvy", barvy);

    handles.output = hObject;

    guidata(hObject, handles);

    funkce varargout = mygui_OutputFcn(hObject, eventdata, handles)

    varargout(1) = handles.output;

    funkce btnPlot_Callback(hObject, eventdata, handles)

    set(hObject, "Enable", "off");

    set(handles.btnClear, "Enable", "on");

    plotDialog(hObject, handles)

    funkce btnClear_Callback(hObject, eventdata, handles)

    plotClearDialog(hObject, handles);

    funkce chbxGridX_Callback(hObject, eventdata, handles)

    set(handles.axMain, "XGrid", mapValue(hObject, "Value"));

    funkce chbxGridY_Callback(hObject, eventdata, handles)

    set(handles.axMain, "YGrid", mapValue(hObject, "Value"));

    function MarkGroup_SelectionChangeFcn(hObject, eventdata, handles)

    changeMarker(handles)

    funkce pmColor_Callback(hObject, eventdata, handles)

    změnit barvu (držadla)

    set(hObject,"BackgroundColor","bílá");

    konec

    funkce scrWidth_Callback(hObject, eventdata, handles)

    Snaž se

    thePlot = getappdata(handles.axMain, "plot");

    set(thePlot, "LineWidth", round(get(hObject, "value")))

    chytit

    konec;

    funkce scrWidth_CreateFcn(hObject, eventdata, handles)

    if isequal(get(hObject,"BackgroundColor"), get(0,"defaultUicontrolBackgroundColor"))

    set(hObject,"BackgroundColor",[.9.9.9]);

    konec

    function editTitle_Callback(hObject, eventdata, handles)

    title(get(hObject, "String"))

    function editTitle_CreateFcn(hObject, eventdata, handles)

    pokud ispc

    set(hObject,"BackgroundColor","bílá");

    jiný

    set(hObject,"BackgroundColor",get(0,"defaultUicontrolBackgroundColor"));

    konec

    if ispc && isequal(get(hObject,"BackgroundColor"), get(0,"defaultUicontrolBackgroundColor"))

    set(hObject,"BackgroundColor","bílá");

    konec

    funkce mnGraphPlot_Callback(hObject, eventdata, handles)

    plotDialog(hObject, handles)

    set(handles.mnGraphPlot,"Enable","off");

    set(handles.mnGraphClear,"Enable","on");

    set(handles.btnPlot,"Enable","off");

    set(handles.btnClear,"Enable","on");

    funkce mnGraphClear_Callback(hObject, eventdata, handles)

    plotClearDialog(hObject, handles)

    if ispc && isequal(get(hObject,"BackgroundColor"), get(0,"defaultUicontrolBackgroundColor"))

    set(hObject,"BackgroundColor","bílá");

    konec

    changeColor.m

    funkce changeColor (držadla)

    Snaž se

    thePlot = getappdata(handles.axMain, "plot");

    barvy = getappdata(handles.figure1, "barvy");

    set(thePlot, "Color", colors(get(handles.pmColor, "value")))

    chytit

    ;

    konec

    changeMarker.m

    značka změny funkce (držadla)

    Snaž se

    thePlot = getappdata(handles.axMain,"plot");

    markers = getappdata(handles.figure1,"optionsValues");

    set(thePlot, "Marker", markers(getMarkerValue(handles)))

    chytit

    ;

    konec

    drawPlot.m

    funkce drawPlot(xVector, yVector, handles)

    newPlot = plot(xVector, yVector);

    setappdata(handles.axMain, "plot", newPlot);

    changeMarker(handles)

    změnit barvu (držadla)

    set(handles.axMain, "XGrid", mapValue(handles.chbxGridX, "Value"));

    set(handles.axMain, "YGrid", mapValue(handles.chbxGridY, "Value"));

    set(newPlot, "LineWidth", round(get(handles.scrWidth, "value")))

    title(get(handles.editTitle, "String"))

    getMarkerValue.m

    function markerValue = getMarkerValue(handles)

    markerValue = getSelectedOption(getappdata(handles.figure1, "optionsList"));

    getSelectedOption.m

    index funkce = getSelectedOption(hObjectList)

    index = 1;

    for counter = (1: length(hObjectList))

    if get(hObjectList(counter), "value") == 1

    index = čítač;

    vrátit se

    konec

    konec

    mapValue.m

    funkce retval = mapValue(hObject, vlastnost)

    if get(hObject, property)

    retval="on";

    jiný

    retval="Off";

    konec

    plotClearDialog.m

    funkce plotClearDialog(hObject, handles)

    yesButton = "Ano";

    noButton = "Ne";

    message = "Vymazat graf";

    button = questdlg(zpráva, "mygui", yesButton, noButton, noButton);

    if strcmp(tlačítko, anoButton)

    cla

    set(handles.axMain, "YGrid", mapValue(handles.chbxGridY, "Value"))

    set(handles.axMain, "XGrid", mapValue(handles.chbxGridX, "Value"))

    set(handles.btnClear,"Enable","off");

    set(handles.btnPlot,"Enable","on");

    set(handles.mnGraphPlot,"Enable","on");

    set(handles.mnGraphClear,"Enable","off");

    konec

    plotDialog.m

    funkce plotDialog(hObject, handles)

    default = "výchozí";

    fromFile = "Ze souboru";

    userInput = "Vstup uživatele";

    errorMessage = "Neznámý formát datového souboru";

    errorCaption = "Chyba!";

    dialogCaption = "Zdroj dat";

    result = questdlg(dialogCaption, "mygui", default, fromFile, userInput, default);

    if strcmp(výsledek, ze souboru)

    Snaž se

    mymatrix = load("data.txt");

    chytit

    errordlg(errorMessage, errorCaption)

    konec

    sMatrix = velikost(mojematice);

    if (sMatrix(2) ~= 2 | ndims(mymatice)~=2 | ~isnumeric(mymatice))

    errordlg(errorMessage, errorCaption)

    konec

    x = mymatice(:,1);

    y = mymatice(:,2);

    konec

    if strcmp(výsledek, userInput)

    Snaž se

    x=-2,5:0,6:2;

    y = sym(get(handles.userFunction, "String"));

    y = subs(y);

    chytit

    errordlg("Chyba při analýze vlastní funkce", errorCaption)

    konec

    konec

    if strcmp (výsledek, výchozí)

    x=-2,5:0,6:2;

    y = exp(-x.^2);

    konec

    drawPlot(x, y, úchyty)

    Hostováno na Allbest.ru

    Podobné dokumenty

      Výuka programování v MATLABu. Pomocí příkazů Uložit a Načíst můžete vstupní a výstupní příkazy pracovat v příkazovém okně. Ladění vlastní programy. Rozhraní MATLAB. Rozdíly mezi novější verzí MATLABu a staršími verzemi. Nástroj Source Control Interface.

      test, přidáno 25.12.2011

      Matematický základ paralelní počítání. Vlastnosti Parallel Computing Toolbox. Vývoj paralelních aplikací v Matlabu. Příklady programování paralelních úloh. Výpočet určitého integrálu. Sériové a paralelní násobení.

      semestrální práce, přidáno 15.12.2010

      obecné charakteristiky a vlastnosti systému matlab - balíček aplikační programy pro řešení problémů technických výpočtů. Vývoj matematického modelu v daném prostředí, programování funkcí pro hlavní vliv. Návrh GUI.

      semestrální práce, přidáno 23.05.2013

      Vývoj programového kódu a algoritmu akcí aplikace "kalkulačka". Použití funkcí v programu Matlab. Vývoj tlačítek, možností, rozhraní, designu. Matlab kód části a testovací souprava. Uživatelská příručka k programu.

      semestrální práce, přidáno 27.09.2014

      Volba parametrů a struktury obvodu. Programování skriptu (m-soubor) pro nastavení počátečních parametrů. Výpočet parametrů regulátoru, návrh jeho S-funkce. GUI Programování: Vývoj vzhled a navrhování manipulátorů.

      semestrální práce, přidáno 18.05.2013

      Vlastnosti práce v režimu příkazový řádek v systému Matlab. Proměnné a přiřazování jim hodnot. Komplexní čísla a výpočty v systému Matlab. Výpočty pomocí funkce sqrt. Nesprávné použití funkcí se složitými argumenty.

      práce, přidáno 30.07.2015

      Lineární výzkum dynamické modely v softwaru Balíček Matlab a seznámení s časem a frekvenční charakteristiky systémy automatické ovládání. Pól a nulové hledání přenosová funkce pomocí tyče, nulové příkazy v Matlabu.

      laboratorní práce, přidáno 3.11.2012

      Matlab - maticová laboratoř - programovací systém pro vědecké a technické výpočty. Vlastnosti zadávání vektorů. Speciální matice, jednoduché příkazy. Jednoduché příklady ilustrující efektivitu Matlabu. Grafický způsobřešení rovnic.

      abstrakt, přidáno 01.05.2010

      Tvorba aplikací: ProgressBar, Calculate by Vzor, 2D Array, Calculator, Media Player, 1D Array, List, textový editor. Vytváření různých obslužných programů událostí. Vývoj úvodní obrazovky, okna pro zadání hesla a hlavního formuláře.

      laboratorní práce, přidáno 22.01.2015

      Modelování trajektorie kosmické lodi vypuštěné z vesmírné stanice vzhledem k Zemi. Start se provádí ve směru opačném k pohybu stanice, tečně k její oběžné dráze. Text programu v prostředí Matlab.

    Vybudování grafického rozhraní v systému matlab


    Úvod

    Matlab je inženýrský a vědecký výpočetní systém. Poskytuje matematické výpočty, vizualizaci vědecké grafiky, programování a modelování procesů pomocí intuitivního prostředí prostředí, kdy lze problémy a jejich řešení znázornit v notaci blízké matematické. Nejznámější oblasti použití systému matlab :

    Matematika a výpočty;

    vývoj algoritmů;

    · výpočetní experiment, simulační modelování, prototypování;

    analýza dat, výzkum a vizualizace výsledků;

    vědecké a inženýrská grafika;

    · vývoj aplikací včetně grafického uživatelského rozhraní.

    Hlavní objekt při programování v prostředí matlab je pole, pro které nemusíte explicitně specifikovat rozměr. To umožňuje řešení mnoha výpočetních problémů spojených s formulacemi vektor-matice.

    Systém matlab Je to jak operační prostředí, tak programovací jazyk. Uživatel může psát specializované funkce a programy, které jsou ve formě M-souborů. S rostoucím počtem vytvořených programů vznikají problémy s jejich klasifikací a pak se můžete pokusit shromáždit související funkce speciální složky. To vede ke konceptu aplikačních balíčků, což jsou kolekce M-souborů k řešení konkrétního úkolu nebo problému.


    C reda systémy matlab

    Systémové prostředí matlab jedná se o soubor rozhraní, přes které uživatel komunikuje s tímto systémem. Jsou to: dialog přes příkazový řádek nebo grafické rozhraní, procházení pracovní plochy, editor a debugger M-souborů, práce se soubory a shellem DOS, export a import dat, interaktivní přístup k informace o pozadí, dynamická interakce s externími systémy Microsoft Slovo , Microsoft vynikat a další.Tato rozhraní jsou implementována prostřednictvím příkazového okna, panelu nástrojů, pracovních prostorů a systémů prohlížení přístupových cest, editoru/ladicího programu M-souborů, speciálních nabídek.

    Uživatelské rozhraní je přátelský a postavený podle zavedených zásad software vyvinuté pro operační systém Okna .

    V systému Matlab existují dva typy m-souborů:

    Skripty - představují sekvence příkazů (reprezentují procedury);

    Funkce – jsou funkce se vstupními argumenty a výstupními parametry (hodnotami funkcí).

    Pak je ale potřeba opakovaně spouštět programový soubor s jinými, změněnými parametry řešeného problému. Nastává nepříjemnost: v neustálé editaci zdrojového kódu programu a jeho opakovaném či dalším spouštění. Zároveň je důležitý mechanismus pro řízení proměnných, který by zajistil uživatelsky přívětivé rozhraní mezi programem a uživatelem. Při řešení jiných problémů může být obtížné vizualizovat proces, tedy některé proměnné se dynamicky mění v procesu řešení problému.

    Všechny tyto a další potíže lze vyřešit pomocí grafického uživatelského rozhraní. (GUI – GraphicalUserInterface)

    Základní principy tvorby grafického rozhraní

    Použití grafického rozhraní umožňuje uživateli učinit program všestrannějším.

    Jako každý proces návrhu lze proces vytváření grafického uživatelského rozhraní rozdělit do následujících kroků:

    1. Prohlášení o problému,

    2. Vytvoření formuláře rozhraní a vytvoření ovládacích prvků na něm.

    3. Zápis programového kódu a kódu zpracování událostí.

    Fáze budování grafického uživatelského rozhraní

    1. V první fázi se provede analýza úlohy a určí se počet a složení ovládacích prvků nutných k vyřešení problému.

    2. Ve druhé fázi je vytvořen formulář grafického rozhraní a jsou na něm vytvořeny a umístěny ovládací prvky. Jsou zde také popsány jejich vlastnosti.

    Umístění a zarovnání prvků ve formuláři můžete nastavit tak, že jejich vlastnosti popíšete „ručně“, ale pro pohodlí a rychlost použijte editor zarovnání objektů (TheAlignmentTool) a editor vlastností (ThePropertyEditor).

    Existují dva způsoby, jak vytvořit formulář a ovládací prvky a nastavit nebo změnit jejich vlastnosti:

    Pomocí příkazu WORKSPACE (tj. pomocí příkazu operačního prostředí MATLAB).

    Použití nástrojů panelu nástrojů – sada nástrojů pro rychlé vytvoření GUI (TheControlPanel).

    Při sestavování ovládacích prvků prvním způsobem je vhodné použít skriptový soubor, ve kterém je pomocí příkazů WARKSPACE sekvenčně popsána tvorba ovládacích prvků a nastaveny jejich vlastnosti.

    Tyto příkazy lze použít jak pro psaní kódu, který vytváří grafické uživatelské rozhraní, tak je lze použít k ovládání vlastností ovládacích prvků z těla m-souborů. Díky tomu můžeme získat vizualizaci našeho procesu výpočtu.

    V praxi se stále více přiklání k druhému způsobu tvorby grafického rozhraní s ovládacími prvky. To je způsobeno tím, že při použití ovládacího panelu s jeho editory vlastností, událostí, zarovnání je velmi pohodlné pracovat a vytváření GUI je mnohem rychlejší než v prvním případě.

    3. Ve třetí fázi vytváření grafického uživatelského rozhraní (GUI) je napsán kód hlavního výpočetního programu a kód pro obsluhu událostí.

    Kód hlavního výpočtového programu je napsán v programovacím jazyce operačního prostředí Matlab ve formě m-souboru. Vytvořené m-soubory jsou připojeny k události nějaké kontroly nebo formuláře.

    Při popisu vlastností ovládacích prvků jsou události popsány v m-souboru:

    a) buď při vytváření každého ovládacího prvku popíšeme jeho vlastnosti a ihned popíšeme akci události;

    b) nebo popíšeme zpracování událostí pro každý prvek pomocí editoru událostí (ThePropertyEditor).

    Začátek kroků k vytvoření GUI

    Editor GUIDE (manuální) se vyvolá příkazem průvodce z příkazového okna nebo provedením řetězce příkazů z hlavní nabídky Soubor (Soubor) - Nový (Nový) - GUI (Grafické rozhraní).

    Dvě stránky na úvodní obrazovce (obr. 1) vám umožňují začít navrhovat nové rozhraní (záložka - CreateNewGUI, (Vytvořit nové rozhraní)) nebo použít dříve vytvořené rozhraní (záložka - OpenExistingGUI (Otevřít existující rozhraní)) . Faktem je, že popis formuláře žádosti spolu s komponentami rozhraní na něm umístěnými lze uložit do souboru s příponou obr. Je-li na disku uloženo něco podobného naší budoucí aplikaci, lze pro úsporu času použít stávající soubor.

    Počáteční GUI Builder (GUIDE) (obrázek 1)

    Byl jsem požádán, abych zvážil aplikaci, která vykreslí graf jedné z pěti funkcí v závislosti na vybraném řádku rozbalovací nabídky.

    Okno pro úpravu formuláře (obr. 2)


    Okno pro úpravu m-kódu formuláře (obr. 3)

    Toto je kód, který popisuje chování formuláře, který jsme uložili. Obsahuje procedury a funkce, díky kterým je formulář funkční.


    Okno programu spuštěného ke spuštění (obr. 4)

    Zde je funkční program, který provádí odvození různých grafických závislostí na souřadnicové rovině.

    Výběrem různých položek z rozbalovací nabídky a následným stisknutím tlačítka se vám zobrazí různé možnosti pro výsledné grafy.

    Algoritmus vytváření rozhraní

    1. Zavolejte ovládací panel.

    1) Vytvořte nový formulář rozhraní nebo načtěte existující.

    2) Přepněte do režimu úpravy formuláře.

    3) Přetáhněte na formulář potřebné ovládací prvky.

    2. Zavolejte editor vlastností.

    2) Vyberte požadovanou vlastnost a změňte ji.

    3. Zavolejte editor události.

    1) Vyberte ovládací prvek.

    2) Napište kód zpracování událostí.

    4. Vyvolejte editor zarovnání objektů.

    1) Vyberte ovládací prvek nebo skupinu prvků.

    2) Vyberte metodu zarovnání.

    5. Přejděte do okna ovládacího panelu a aktivujte rozhraní.

    Literatura

    1. Dyakonov, V.P. MATLAB 6.5 SP1/7 + Simulink 5/6 v matematice a modelování / V.P. Djakovov. – M.: SOLON-Press, 2005. – 576 s.

    2. Dyakonov, V.P. MATLAB 6.5 SP1/7 + Simulink 5/6. Základy aplikace / V.P. Dyakonov - M.: SOLON-Press, 2005. - 800 s.

    3. Dyakonov, V.P. MATLAB 6.5 SP1/7 + Simulink 5/6. Práce s obrázky a video streamy / V.P. Djakovov. – M.: SOLON-Press, 2005. – 400 s.

    4. Ermachková Yu.A. Návrh rozhraní v prostředí GUIDEMATLAB / Yu.A. Ermachkova // Moderní informační technologie v ekonomice, managementu a vzdělávání. Sborník materiálů meziuniverzitní vědecké a praktické konference věnované 175. výročí spotřebitelské spolupráce v Rusku a 5. výročí pobočky. - M .: Informační a implementační centrum "Marketing", 2006. - S. 35–37.


    aplikace

    funkce varargout = kursovaya(varargin)

    % KURSOVAYA M-soubor pro kursovaya.obr

    % KURSOVAYA sama o sobě vytvoří novou KURSOVAYA nebo zvýší stávající

    % H = KURSOVAYA vrátí rukojeť nové KURSOVAYA nebo rukojeť

    % stávajícího singletonu*.

    % KURSOVAYA("CALLBACK", hObject, eventData, handles,…) volá místní

    % funkce s názvem CALLBACK v KURSOVAYA.M s danými vstupními argumenty.

    % KURSOVAYA("Vlastnost", "Hodnota",…) vytvoří novou KURSOVAYA nebo zvýší

    % stávajících singletonů*. Počínaje zleva jsou dvojice hodnot vlastnosti

    Vytváření GUI v Matlabu


    Úvod

    Matlab je inženýrský a vědecký výpočetní systém. Poskytuje matematické výpočty, vizualizaci vědecké grafiky, programování a modelování procesů pomocí intuitivního prostředí prostředí, kdy lze problémy a jejich řešení znázornit v notaci blízké matematické. Nejznámější oblasti použití systému Matlab:

    Matematika a výpočty;

    vývoj algoritmů;

    · výpočetní experiment, simulační modelování, prototypování;

    analýza dat, výzkum a vizualizace výsledků;

    vědecká a technická grafika;

    · vývoj aplikací včetně grafického uživatelského rozhraní.

    Hlavním objektem při programování v prostředí Matlab je pole, u kterého není potřeba explicitně zadávat rozměr. To umožňuje řešení mnoha výpočetních problémů spojených s formulacemi vektor-matice.

    Systém Matlab je operační prostředí i programovací jazyk. Uživatel může psát specializované funkce a programy, které jsou ve formě M-souborů. S rostoucím počtem vytvořených programů nastávají problémy s jejich klasifikací a poté se můžete pokusit shromáždit související funkce do speciálních složek. To vede ke konceptu aplikačních balíčků, což jsou kolekce M-souborů k řešení konkrétního úkolu nebo problému.


    Prostředí systému Matlab

    Prostředí systému Matlab je soubor rozhraní, přes které uživatel s tímto systémem komunikuje. Jsou to: dialog přes příkazový řádek nebo grafické rozhraní, procházení pracovní plochy, editor a ladicí program M-souborů, práce se soubory a shellem DOS, export a import dat, interaktivní přístup k informacím nápovědy, dynamická interakce s externími systémy Microsoft Word, Microsoft Excel a další.Tato rozhraní jsou implementována prostřednictvím příkazového okna, panelu nástrojů, pracovních prostorů a systémů prohlížení přístupových cest, editoru/ladicího programu M-souborů, speciálních nabídek.

    Uživatelské rozhraní je uživatelsky přívětivé a postavené podle zavedených principů softwaru vyvinutého pro operační systém Windows.

    V systému Matlab existují dva typy m-souborů:

    Skripty - představují sekvence příkazů (reprezentují procedury);

    Funkce - jsou funkce se vstupními argumenty a výstupními parametry (hodnotami funkcí).

    Pak je ale potřeba opakovaně spouštět programový soubor s jinými, změněnými parametry řešeného problému. Nastává nepříjemnost: v neustálé editaci zdrojového kódu programu a jeho opakovaném či dalším spouštění. Zároveň je důležitý mechanismus pro správu proměnných, který by poskytoval pohodlné rozhraní mezi programem a uživatelem. Při řešení jiných problémů může být obtížné vizualizovat proces, tedy některé proměnné se dynamicky mění v procesu řešení problému.

    Všechny tyto a další potíže lze vyřešit pomocí grafického uživatelského rozhraní. (GUI – grafické uživatelské rozhraní)

    Základní principy tvorby grafického rozhraní

    Použití grafického rozhraní umožňuje uživateli učinit program všestrannějším.

    Jako každý proces návrhu lze proces vytváření grafického uživatelského rozhraní rozdělit do následujících kroků:

    1. Prohlášení o problému,

    2. Vytvoření formuláře rozhraní a vytvoření ovládacích prvků na něm.

    3. Zápis programového kódu a kódu zpracování událostí.

    Fáze budování grafického uživatelského rozhraní

    1. V první fázi se provede analýza úlohy a určí se počet a složení ovládacích prvků nutných k vyřešení problému.

    2. Ve druhé fázi je vytvořen formulář grafického rozhraní a jsou na něm vytvořeny a umístěny ovládací prvky. Jsou zde také popsány jejich vlastnosti.

    Můžete nastavit umístění a zarovnat prvky na formuláři, jejich vlastnosti můžete popsat "ručně", ale pro pohodlí a rychlost použijte nástroj pro zarovnání a Editor vlastností.

    Existují dva způsoby, jak vytvořit formulář a ovládací prvky a nastavit nebo změnit jejich vlastnosti:

    Pomocí příkazu WORKSPACE (tj. pomocí příkazu operačního prostředí MATLAB).

    Použití nástrojů panelu nástrojů – sada nástrojů pro rychlé vytvoření GUI (The Control Panel).

    Při sestavování ovládacích prvků prvním způsobem je vhodné použít skriptový soubor, ve kterém je pomocí příkazů WARKSPACE sekvenčně popsána tvorba ovládacích prvků a nastaveny jejich vlastnosti.

    Tyto příkazy lze použít jak pro psaní kódu, který vytváří grafické uživatelské rozhraní, tak je lze použít k ovládání vlastností ovládacích prvků z těla m-souborů. Díky tomu můžeme získat vizualizaci našeho procesu výpočtu.

    V praxi se stále více přiklání k druhému způsobu tvorby grafického rozhraní s ovládacími prvky. To je způsobeno tím, že při použití ovládacího panelu s jeho editory vlastností, událostí, zarovnání je velmi pohodlné pracovat a vytváření GUI je mnohem rychlejší než v prvním případě.


    Práce s ukázkami z příkazové řádky Vyvolání seznamu ukázek Jedna z nejvíce efektivní metody seznámení se složitými matematickými systémy je seznámení s vestavěnými příklady jejich aplikace. Systém MATLAB obsahuje mnoho stovek takových příkladů – téměř pro každý operátor nebo funkci existuje příklad. Nejpoučnější příklady najdete...

    Středník; Chcete-li označit konec každého řádku, obklopte celý seznam prvků hranaté závorky, . Pro zadání Durerovy matice jednoduše napište: A = MATLAB zobrazí matici, kterou jsme zadali, A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Pokud jsme zadali matici, pak si ji automaticky zapamatuje prostředí MATLABu. A můžeme snadno...

    Federální agentura pro vzdělávání

    Státní vzdělávací instituce vyššího odborného vzdělávání

    Státní letecká technická univerzita v Ufa

    Katedra letecké přístrojové techniky

    ROZHRANÍ SYSTÉMU MATLAB

    Směrnice

    k laboratorní práci na disciplínách

    "Základy automatického řízení"

    a "Zpracování digitálního signálu"

    Ufa 2006

    Sestavil: V.I. Petunin

    UDC 004.45(07)

    BBC 32.973.26-018.2(ya7)

    Rozhraní systému MATLAB: Pokyny pro laboratorní práci v oborech "Základy automatického řízení" a "Digitální zpracování signálů" / Ufimsk. Stát letectví tech. un-t; Comp. V A. Petunin. - Ufa, 2006. - 29 s.

    Pokyny obsahují popis laboratorních prací, při kterých se studenti seznamují s principy konstrukce a vlastnostmi fungování systému MatLab. Je zvažováno využití tohoto systému pro modelování lineárních a nelineárních dynamických systémů (balíčky Control System Toolbox a SimuLink) a digitální zpracování signálů (balíček Signal Processing Toolbox).

    Určeno pro studenty studující ve směru výcviku absolventů 200100 "Přístrojové inženýrství" a specializace 200103 "Letecké přístroje a měřicí a výpočetní systémy".

    Tab. 0. Nemocný. 7. Bibliografie: 8 titulů.

    Recenzenti: Dr. tech. věd, prof. Vasiliev V.I.

    cand. tech. vědy, doc. Yuldashbaev Sh.A.

    © Stát Ufa

    letecká technická univerzita, 2006

    1. Účel práce 4

    2. Teoretická část 4

    2.1. Úvod 4

    2.2. Rozhraní MatLab 6

    2.3. Studium lineárních stacionárních systémů (Soubor řídicích systémů) 12

    2.4. Modelování nelineárních systémů (balíček SimuLink) 16

    2.5. Digitální zpracování signálu (Signal Processing Toolbox) 21

    3. Úkol 23

    4. Popis uspořádání laboratoře 24

    5. Objednávka prací 24

    6. Požadavky na podávání zpráv 24

    7. Bezpečnostní otázky 25

    Reference 25

    Příloha 27

    Laboratorní práce

    SYSTÉMOVÉ ROZHRANÍmatlab

    1. Účel práce

    Účelem této práce je:

    1. studium účelu, složení a rozhraní systému MatLAB verze 5.X;

    2. seznámení s demonstračními příklady systému MatLAB;

    3. studium balíčků Control a Simulink (simulace lineárních a nelineárních dynamických systémů);

    4. studium balíčku Signal (digitální zpracování signálu).

    2. Teoretická část

    2.1. Úvod

    Systém MatLAB (zkratka pro MATrix LABORATORY - MATRIX LABORATORY) byl vyvinut společností The MathWorks, Inc. (USA, Naytik, Massachusetts) na konci 70. let 20. století a jde o interaktivní systém pro provádění inženýrských a vědeckých výpočtů, zaměřený na práci s datovými poli. Systém využívá matematický koprocesor a umožňuje přístup k napsaným programům FORTRAN jazyky, C a C++.

    Systém podporuje operace s vektory, maticemi a datovými poli, implementuje singulární a spektrální rozklady, počítá hodnostní a podmínková čísla matic, podporuje práci s algebraickými polynomy, řešení nelineárních rovnic a optimalizačních úloh, integraci v kvadraturách, řešení diferenciálních a diferenčních rovnic, vytváření různých typů grafů, trojrozměrných ploch a úrovňových čar. Implementuje pohodlné operační prostředí, které vám umožňuje formulovat problémy a získávat řešení v obvyklé matematické formě, aniž byste se museli uchylovat k rutinnímu programování.

    Hlavním objektem systému MatLAB je obdélníkové pole, které umožňuje složité prvky a zadávání matic bez explicitního určení jejich velikosti. Systém umožňuje vyřešit mnoho výpočetních problémů za mnohem kratší dobu, než je potřeba k napsání odpovídajících programů ve FORTRAN, BASIC a C.

    Systém MatLAB má svůj vlastní programovací jazyk, připomínající BASIC. Nahrávání programů je tradiční, a proto ho zná většina uživatelů osobních počítačů. Systém navíc umožňuje upravovat programy pomocí libovolného textového editoru, který je uživateli znám.

    Práce v prostředí MatLAB může probíhat ve dvou režimech:

      V režimu kalkulačky, kdy jsou výpočty prováděny ihned po zadání dalšího operátoru nebo příkazu MatLAB; v tomto případě mohou být hodnoty výsledků výpočtu přiřazeny k některým proměnným nebo jsou výsledky získány přímo, bez přiřazení (jako u běžných kalkulaček);

      Voláním programu sestaveného a nahraného na disk v jazyce MatLAB, který obsahuje všechny potřebné příkazy zajišťující zadávání dat, organizaci výpočtů a zobrazování výsledků na obrazovce (režim programu).

    V obou režimech má uživatel k dispozici téměř všechny výpočetní možnosti systému, včetně zobrazení informací v grafické podobě. Programový režim umožňuje uložit vyvinuté výpočetní algoritmy a tak opakovat výpočty s různými počátečními daty.

    Hlavním rozlišovacím znakem systému je snadná jeho modifikace a přizpůsobení konkrétním uživatelským úkolům. Uživatel může do systému zadat jakýkoli nový příkaz, operátor nebo funkci a poté je používat stejně jednoduše jako pomocí vestavěných operátorů a funkcí. V tomto případě není potřeba jejich předběžný popis. Nové programy, funkce a postupy v systému MatLAB se ukládají jako soubory s příponou .m. Tím je množina operátorů a funkcí prakticky neomezená.

    Se systémem MatLAB je dodáváno přes sto M-souborů, které obsahují demonstrační příklady a definice operátorů a funkcí. Tato knihovna, jejíž všechny soubory jsou komentovány, je skutečnou pokladnicí vynikajících příkladů programování v systémovém jazyce. Studium těchto příkladů a schopnost pracovat v režimu přímého výpočtu značně usnadňuje seznámení se systémem uživatelům se zájmem o používání matematických výpočtů.

    MatLAB je určen pro poměrně složité výpočty. To určuje okruh jeho uživatelů: konstruktéři a vývojáři nových zařízení, studenti a postgraduální studenti, vědci, fyzici a matematici. Systém je přizpůsoben jakémukoli oboru vědy a techniky, obsahuje nástroje, které jsou vhodné zejména pro elektrotechnické a radiotechnické výpočty.