В приложените приложения и графики от ЕВРОВОК

Това, което искате да направите?

В този раздел ще разгледа една от многото начини за разработване на приложения с графичен потребителски интерфейс в MATLAB, при което:

  1. главния прозорец за кандидатстване и деца прозорците са създадени в условията на визуално програмиране GUIDE;
  2. писмено функция с под-функции за изпълнение на сътрудничеството тези прозорци и взаимодействието между тях.

Като прост пример за графичен интерфейс да напише функции и четири quadl, предназначена за числено интегриране на функциите на една променлива от 0 до 1 и квадратура формули Simpson-Lobatto Гаус съответно. Един пример за това приложение, ние гледаме на прилагането на параграфи 1) и 2).

Външният вид на основния прозорец е неразделна прилагане на фигурата по-долу.


Главният прозорец на приложение неразделна

Бутон метод е разработен за отваряне на метода на диалогов прозорец, дадени на фигурата по-долу, където можете да използвате ключове за избор между два метода за интеграция:

  • от квадратура формули Simpson;
  • от квадратурни формули на Гаус-Lobatto.


Диалогов прозорец, за да изберете метода на метод интеграция

точност Бътън в главния прозорец на приложение е предназначено за отваряне на толерантността на диалоговия прозорец, под фигурата, в които линия на входа на потребителя определя точността на интеграция.


диалоговия прозорец толерантност, за да определите точността на интеграция

След като щракнете върху бутона в основния прозорец Изчислете приложения изчислени интеграл на функцията, посочена в реда за въвеждане на основната функция прозореца на приложението, както и получените с помощта на избрания метод и с дадена продукция точност на ред отговор резултат.

Така че, с графичен потребителски интерфейс, приложението се състои от главния прозорец и два взаимно свързани дъщерни метод диалози и толерантност, която определя някои параметри на приложението. Тези диалогови прозорци, които правим различни видове транспорт, т.е. след появата на един от тях на екрана и да ги постави на правилните настройки, трябва да затворите този прозорец, за да продължите с интегрална заявлението.

Разбира се, тези, направени в метода на прозорци и толерантност, трябва да бъдат на разположение в преработвателните събитие под-функции на всяка част на основния прозорец. За разлика от предварително избрания метод на интеграция и точността трябва да се знае в отвора на метод прозорец и толерантност, за да в прозореца метод е инсталиран ключ, съответстващ на предварително избраните методи на интеграция, и прозорец толерантност линия въвеждане при отваряне определен преди точност е получен.

За да започнете да GUIDE в среда, която искате да създадете главния прозорец интеграл. (В приложения с графичен потребителски интерфейс в детайли, ние създаваме прости GUI приложения, в ръководството на околната среда). В този случай, искате да се прозорец с три бутона:

  • метод
  • точност
  • Изчислете

и две входни линии от ляво на този хост на надписи:

Създаване на прозорци GUIDE среда

На първо място, ние анализираме накратко създаването на диалози между визуално програмиране GUIDE MATLAB да се спести време на читателя и да подчертае необходимостта от действия в този случай. След изпълнение на командния ред MATLAB ръководство екип


Стъпки за създаване на елементи от интерфейса и уточняване стойности на техните свойства

Стойностите са вписани или във втората колона от клетки или избрани чрез натискане на бутона Next. Ако стойността на имота е масив, а след това в ляво на имота има бутон със знак плюс, като кликнете върху който се отваря масив и може да се промени стойността на неговите компоненти в дясната колона.

На главния прозорец на програмата, която искате да проведе:

  1. Ако случайно на празен прозорец за кандидатстване е рисувана ненужен обект, той може да бъде отстранен чрез подчертаване на кликване, и след това натиснете бутона за изтриване.
  2. Наравно обекти могат да бъдат преместени с мишката, и да ги преоразмерявате, като издърпате курсора на мишката върху дръжките на границата на избрания обект.
  3. Ние няма да разглобите всички методи и техники за работа с обекти, рисувани върху празния прозорец.
прозорец Основно приложение неразделна

прозорец Properties неразделна

Размерът и разположението на бутоните може да се настрои с помощта на мишката.

Опазване на интегрална прилагането главния прозорец

По подразбиране, приложението е създаден в средата на зрителното GUIDE MATLAB програмиране се съхранява в два файла:

забележка
Преди да ви спести метод и толерантност прозореца, създаването на който е описано по-долу, трябва да се направи една и съща операция, за да отмените автоматичното създаване на м-файл и магазин диалоговия подаде само с фиг разширение.

Желателно е да се направи веднага избраната папка MATLAB текущата директория, например с помощта на бутон, разположен от лявата страна на падащия списък текущата директория главния панел MATLAB с инструменти.

диалогов метод Creation

метод имоти прозорец

слоган вход, който ще трябва да се указател към него в функциите на събитие манипулатор

Създаден от диалоговия прозорец, за да запишете файла в tol.fig, по-рано отказа по метода на съхранение в два файла с разширение и разширяването на фиг m (виж раздел пестене неразделна основната заявка прозорец ..).

Сега, когато всички три прозореца intehral, ​​метод и набор толерантност, да преминем към програмния файл функция с под-функции, за да направи работата на интерфейса.

интерфейс за програмиране

Като цяло, идеята е много проста. Ако искате да се покаже диалоговия прозорец, а след това ние го правим с помощта на открито (можете да използвате openfig функция). Откритият функцията връща указател към диалоговия прозорец.

Ако не сте запознати със структурата, можете да прочетете тук резюме на работата със структурите в MATLAB.

При получаване на указатели към обекти на диалоговия прозорец за някои обекти (бутони, ключове, панели) посочената техните функции за обработка на събития, които се случват, например, когато потребителят кликне върху бутон или избор на ключ. Дали тези функции са предварително програмирани под-функции в м-файл в основната функция на интеграл, който се отваря основният прозорец интеграл от нашата молба с графичен потребителски интерфейс.

забележка
За да се случи програмирани събитие, като при натискане на бутона, на които показалеца се съхранява в handles.btn (BTN дръжки в структурата), той трябва да изпълнява следните две стъпки:

  1. Svyazyaat този под-функция за обработка на бутон събитие (когато потребителят кликне на бутон се появява го обратно обаждане събитие), като се използва набор инструмент

Тук btn_Callback - името на под-функции, които трябва да бъдат програмирани. Това може да стане само тогава, когато съществува обекта с показалка handles.btn (бутон), т.е. когато се отвори с този бутон диалоговия прозорец.

  • Програма в под действия btn_Callback, че трябва да се извърши, след като потребителят кликне върху бутона. Титла под btn_Callback трябва да изглежда така:

    където SRC - указател към обекта, чийто случай се изпълнява, и EVT - аргумент, който се използва при лечението на определени събития.

    Когато отворите метода на диалоговия прозорец и толерантност в тях трябва да бъдат направени от потребителя, преди да зададете, т.е. Задайте същия ключ (в прозореца на метод) и в реда за въвеждане трябва да бъде въведена от потребителя, преди номера (в прозореца на толерантност). Обменът на параметри между главния прозорец за кандидатстване и своите подчинени, прозорците се извършва с помощта на номиналната структура, която е данните на главния прозорец неразделна приложението, то винаги може да бъде получена от под-функции, използващи MATLAB функция guidata, евентуално променен и съхранен актуализира с помощта на същата функция.

    За номинална структура на данните следва като функция входен аргумент guidata настроен указател към диалоговия прозорец (в нашия случай това неразделна прозорец)

    Тук се приема, че показалецът на екрана се съхранява в неразделна областта win_main дръжки структура. За да се поддържа структури от данни с номинална използва следната функция guidata разговор с две входни аргументи - указател прозорец (или п обект се намира в прозореца) и със структурата:

    Това лечение трябва да направим в под-функции на обработка на елементи от интерфейса на събития, които не са в основния прозорец, а в дъщерните дружества, така че тези под-функции, необходими за прехвърлянето допълнителен аргумент - структура с указатели към обекти на главния прозорец интеграл от нашата молба.

    За преработка на събитие по подразбиране под-функции имат две входни аргументи. В подводница събитие обработка удобно прехвърляне на допълнителни параметри: указател към структура в главния прозорец на кандидатстване и деца прозорците. Това се прави в системата от клетки, съответните параметри са записани в скоби, разделени със запетая. Ето защо, когато свързване обработка събитие Subfunction на това, ние ще използваме тази възможност комплект повикване функция, когато стойността на имота на името на събитието ще бъде масив от клетки, съдържащи указател към Subfunction и допълнителни входните аргументи:

    Ако манипулатор под-функция събитие има допълнителен вход аргумент, а след това му заглавие е, както следва:

    Съответно, ако посочите под-функция обработка на събитието с два допълнителни входни аргументи:

    че заглавието трябва да изглежда така:

    За да програмирате нашата молба с graficheskimm потребителски интерфейс ще трябва основната функция, която ние наричаме интеграл и имайте integral.m файл, който съдържа седем под-функции

    • btn_method_Callback - под-функция на метод за преработка бутон Обр събитие неразделна главния прозорец;
    • btn_tol_Callback - под-функция Бутон за обратно повикване точност обработка събитие неразделна главния прозорец;
    • btn_calc_Callback - под-функция за обработка на събитието бутон Обр Изчислете неразделна главния прозорец;
    • btn_methodOK_Callback - под-функция за обработка на събитието Обр бутона OK, дъщерно дружество метод на прозореца;
    • btn_ methodCancel_Callback - под-функция за обработка на събитието Обр Отмени метод прозорец дете бутон;
    • btn_tolOK_Callback - под-функция за обработка на събитието прозорец толерантност ОК дъщерно бутон за обратно повикване;
    • btn_tolCancel_Callback - под-функция за обработка на събитието Обр Отмени прозорец дъщерно бутон толерантност.

    По-долу е текста на основния неразделна функция с под-функции. integral.m функция, integral.fig прозорец, method.fig tol.fig и трябва да бъде в същата директория, по пътя към който е известен с MATLAB (например в текущата директория). За да стартирате нашата молба GUI просто пуснете

    В основната функция, се извършват следните действия:

    1. integral.fig отваря диалогов прозорец основен;
    2. неговите насоки, се записват в структурата на дръжки (област структура съвпада с етикет обекти са разположени в неразделна диалога);
    3. инициализира ал структурата на данните на главния неразделна прозорец с две полета: метод (за съхранение на избрания метод за интеграция) и тол (за съхранение на избран точност на интеграция), в областта на метод е "четворни", както и поле тол отразява 1е-3, структурата се запазва под guidata помощна функция;
    4. един бутони събития обр метод, точност и се изчислява комуникират съответно Subfunction btn_method_Callback, btn_tol_Callback, btn_calc_Callback, която се предава към допълнителен вход аргумент - дръжки структура.

    На под btn_method_Callback, който се нарича, когато потребителят кликне на метода на бутон, се изпълняват следните стъпки:

    1. Отваря се диалогов прозорец method.fig дъщерно дружество;
    2. неговите указатели се записват в структура handles_method на (област структура съвпада с етикет обекти са разположени в метода на диалоговия прозорец);
    3. променлива ал записано неделима структура прозорец данни;
    4. в зависимост от par.method стойност (т.е. избрания метод inegrirovaniya) определя съответния ключ в метода на прозорец превключвател панел;
    5. за обратно повикване събитие OK и Отказ бутони, свързани съответно Subfunction btn_methodOK_Callback и btn_methodCancel_Callback, която се предава на допълнителен вход аргумент - handles_method структура.

    На под btn_tol_Callback, който се нарича, когато потребителят кликне на точността на бутон, се извършват следните действия:

    1. Отваря се диалогов прозорец tol.fig дъщерно дружество;
    2. неговите указатели се записват в handles_tol структура (област структура съвпада с етикет обекти са разположени в диалоговия тол);
    3. променлива ал записано неделима структура прозорец данни;
    4. прозорец за толерантност реда за въвеждане е предварително настроен писмено точност, която стойност се записва в структурата на област тол номинална:
    5. Едно събитие за обратно повикване OK и Отказ бутони, свързани съответно Subfunction btn_tolOK_Callback и btn_tolCancel_Callback, която се предава на допълнителен вход аргумент - handles_tol структура.

    На под btn_calc_Callback, който се нарича, когато потребителят кликне върху бутона Изчисли, ще се появят следните

    1. формула вход от потребителя, се чете от входния ред неразделна функция на диалоговия прозорец основен;
    2. променлива ал записано неделима структура прозорец данни;
    3. проверят кой метод на интеграция е бил избран от потребителя в диалоговия метод кутия (в структурата на метод ал записва "четириядрен" или "quadl") и в зависимост от това той се нарича четириядрен функция или quadl, което също показва, точността на интеграция записан в par.tol;
    4. резултатът се превръща в низ променлива ул и се показва в основната линия неразделна диалогов прозорец;

    На под btn_methodOK_Callback, който се нарича, когато потребителят кликне OK в метода на диалогов прозорец, се изпълняват следните стъпки:

    1. променлива ал записано неделима структура прозорец данни;
    2. проверят кой метод на интеграция е бил избран от превключвателите на потребителя върху диалоговия прозорец метод, и в зависимост от това в метода на номинална структура е вписано или "четири" или "quadl";
    3. структурата на данните, съхранявани ал неразделна прозорец;
    4. метод прозорец е затворен;

    На под btn_ methodCancel_Callback, който се нарича, когато потребителят кликне върху бутона Отказ в метода на диалогов прозорец, метод затваря прозореца без да се променя структурата на данните на прозорец неразделна ал.

    На под btn_tolOK_Callback, който се нарича, когато потребителят кликне OK в диалоговия, толерантността, се извършват следните действия:

    1. ул променливи влезли прозорец толерантност съдържанието на реда за въвеждане, т.е. потребителя влезе точност;
    2. променлива ал записано неделима структура прозорец данни;
    3. съдържание ул линия се преобразуват в цифрова стойност, която се съхранява в структура на поле тол ал;
    4. структурата на данните, съхранявани ал неразделна прозорец;
    5. прозорец толерантност е затворен;

    На под btn_tolCancel_Callback, който се нарича, когато потребителят кликне върху бутона Отказ в диалоговия, толерантност, търпимост затваря прозореца без да се променя структурата на данните на прозорец неразделна ал.

    Текстът не съдържа никаква функция

    1. се провери коректността на входните функции на линеен вход неразделна функция на главния прозорец;
    2. се провери коректността на вход точност в прозореца за въвеждане на толерантност линия.

    Освен това, е било възможно да се оттегли в отговор на поредица от числа, не е 16, и в съответствие с определения точността, или да въведете функция без елемент-мъдър операции, след подмяна на героите *, / и ^ * в чип единица. /. ф. използване strrep функции, но тези подобрения ще увеличат размера на м-файл.