Главная страница
Навигация по странице:

  • Федеральное государственное бюджетное образовательное учреждение высшего образования

  • ВЫПОЛНЕНИЕ РАБОТЫ

  • Проект в сфере программирования MATLAB. Проект. СанктПетербургский государственный университет телекоммуникаций им проф. М. А. БончБруевича


    Скачать 491.08 Kb.
    НазваниеСанктПетербургский государственный университет телекоммуникаций им проф. М. А. БончБруевича
    АнкорПроект в сфере программирования MATLAB
    Дата19.06.2022
    Размер491.08 Kb.
    Формат файлаdocx
    Имя файлаПроект.docx
    ТипОтчет
    #604563

    Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

    Федеральное государственное бюджетное образовательное

    учреждение высшего образования

    «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»

    __________________________________________________________________

    Кафедра радиотехнических систем и обработки сигналов
    Дисциплина «Прикладные пакеты моделирования»

    1. Отчёт по индивидуальному проекту MATLAB

    2. Справочный материал по ОТЦ



    Выполнил студент группы:

    РМ-02 Максимов А. М.

    Проверил:

    Гуреев А. Е.

    _____________________

    Санкт-Петербург

    2022

    ВЫПОЛНЕНИЕ РАБОТЫ
    Окно приложения:

    Данное приложение выполняет функцию справочника по предмету «Общая теория цепей». При нажатии определённых кнопок выводиться информация по конкретному закону. Также кнопкой «Очистка» и «Выход» можно произвести соответственно очистку полей программы и выход из неё.


    1. Кнопка «Закон Ома»:

      function OMPushed(app, event)

    app.TextArea.Value = "Сила тока в замкнутой цепи прямо пропорционально ЭДС источника и обратно пропорционально полному сопротивлению цепи.";

    app.TextArea_2.Value = "E - электродвижущая сила(ЭДС), В; R - внешнее сопротивление, Ом; r - внутреннее сопротивление, Ом; I - сила тока, А";

    formula = imread ("form1.jpg");

    imshow(formula, jet, 'Parent', app.images);

    sheet = imread ("sheet1.jpg");

    imshow(sheet, jet, 'Parent', app.images_2);

    end
    При нажатии на кнопку, в интерфейсе программы выводится следующая информация:



    1. Кнопка «Первый закон Кирхгофа»:

      function IzButtonPushed(app, event)

    app.TextArea.Value = "Алгебраическая сумма токов в любом узле электрической цепи равна нулю. Или сумма токов, втекающих в узел, равна сумме токов вытекающих.";

    app.TextArea_2.Value = "m - число токов, сходящихся в узле; I - сила тока, А";

    formula2 = imread ("form2.jpg");

    imshow(formula2, jet, 'Parent', app.images);

    sheet2 = imread ("sheet2.jpg");

    imshow(sheet2, jet, 'Parent', app.images_2);

    end
    При нажатии на кнопку, в интерфейсе программы выводится следующая информация:



    1. Кнопка «Второй закон Кирхгофа»:


    function IIzButtonPushed(app, event)

    formula3 = imread ("form3.jpg");

    imshow(formula3, jet, 'Parent', app.images);

    app.TextArea_2.Value = "m - число источников ЭДС; n - число элементов с сопротивлением в контуре; Uk - напряжение или падение напряжения, В; Ek - электродвижущая сила(ЭДС), В";

    sheet3 = imread ("sheet3.jpg");

    imshow(sheet3, jet, 'Parent', app.images_2);

    app.TextArea.Value = "Алгебраическая суммая падений напряжений в замкнутом контуре электрической цепи равна алгебраической сумме ЭДС, входящих в этот контур.";

    end
    При нажатии на кнопку, в интерфейсе программы выводится следующая информация:



    1. Кнопка «Очистка»:


    function clearPushed(app, event)

    app.TextArea.Value = '';

    app.TextArea_2.Value = '';

    zero = imread ("zero.jpg");

    imshow(zero, jet, 'Parent', app.images);

    imshow(zero, jet, 'Parent', app.images_2);

    end
    При нажатии на кнопку, интерфейс очищается от полученной до этого информации и приходит в изначальный вид:




    1. Кнопка «Выход»:


    function exitButtonPushed(app, event)

    app.exit.Value = close(app.UIFigure);

    end
    При нажатии на кнопку, приложение закрывается.


    1. Полный код приложения:


    classdef App < matlab.apps.AppBase

    % Properties that correspond to app components

    properties (Access = public)

    UIFigure matlab.ui.Figure

    TextArea matlab.ui.control.TextArea

    Label matlab.ui.control.Label

    OM matlab.ui.control.Button

    Iz matlab.ui.control.Button

    IIz matlab.ui.control.Button

    clear matlab.ui.control.Button

    images matlab.ui.control.UIAxes

    TextArea_2 matlab.ui.control.TextArea

    images_2 matlab.ui.control.UIAxes

    exit matlab.ui.control.Button

    end

    % Callbacks that handle component events

    methods (Access = private)

    % Button pushed function: OM

    function OMPushed(app, event)

    app.TextArea.Value = "Сила тока в замкнутой цепи прямо пропорционально ЭДС источника и обратно пропорционально полному сопротивлению цепи.";

    app.TextArea_2.Value = "E - электродвижущая сила(ЭДС), В; R - внешнее сопротивление, Ом; r - внутреннее сопротивление, Ом; I - сила тока, А";

    formula = imread ("form1.jpg");

    imshow(formula, jet, 'Parent', app.images);

    sheet = imread ("sheet1.jpg");

    imshow(sheet, jet, 'Parent', app.images_2);

    end

    % Button pushed function: clear

    function clearPushed(app, event)

    app.TextArea.Value = '';

    app.TextArea_2.Value = '';

    zero = imread ("zero.jpg");

    imshow(zero, jet, 'Parent', app.images);

    imshow(zero, jet, 'Parent', app.images_2);

    end

    % Button pushed function: Iz

    function IzButtonPushed(app, event)

    app.TextArea.Value = "Алгебраическая сумма токов в любом узле электрической цепи равна нулю. Или сумма токов, втекающих в узел, равна сумме токов вытекающих.";

    app.TextArea_2.Value = "m - число токов, сходящихся в узле; I - сила тока, А";

    formula2 = imread ("form2.jpg");

    imshow(formula2, jet, 'Parent', app.images);

    sheet2 = imread ("sheet2.jpg");

    imshow(sheet2, jet, 'Parent', app.images_2);

    end

    % Button pushed function: IIz

    function IIzButtonPushed(app, event)

    formula3 = imread ("form3.jpg");

    imshow(formula3, jet, 'Parent', app.images);

    app.TextArea_2.Value = "m - число источников ЭДС; n - число элементов с сопротивлением в контуре; Uk - напряжение или падение напряжения, В; Ek - электродвижущая сила(ЭДС), В";

    sheet3 = imread ("sheet3.jpg");

    imshow(sheet3, jet, 'Parent', app.images_2);

    app.TextArea.Value = "Алгебраическая суммая падений напряжений в замкнутом контуре электрической цепи равна алгебраической сумме ЭДС, входящих в этот контур.";

    end

    % Button pushed function: exit

    function exitButtonPushed(app, event)

    app.exit.Value = close(app.UIFigure);

    end

    end

    % Component initialization

    methods (Access = private)

    % Create UIFigure and components

    function createComponents(app)

    % Create UIFigure and hide until all components are created

    app.UIFigure = uifigure('Visible', 'off');

    app.UIFigure.Color = [0.502 0.502 0.502];

    app.UIFigure.Position = [100 100 640 480];

    app.UIFigure.Name = 'UI Figure';

    % Create TextArea

    app.TextArea = uitextarea(app.UIFigure);

    app.TextArea.FontName = 'Times New Roman';

    app.TextArea.FontSize = 18;

    app.TextArea.BackgroundColor = [0.8 0.8 0.8];

    app.TextArea.Position = [336 286 286 125];

    % Create Label

    app.Label = uilabel(app.UIFigure);

    app.Label.BackgroundColor = [0.8 0.8 0.8];

    app.Label.HorizontalAlignment = 'center';

    app.Label.FontName = 'Times New Roman';

    app.Label.FontSize = 25;

    app.Label.FontWeight = 'bold';

    app.Label.Position = [131 431 379 41];

    app.Label.Text = 'Справочный материал по ОТЦ';

    % Create OM

    app.OM = uibutton(app.UIFigure, 'push');

    app.OM.ButtonPushedFcn = createCallbackFcn(app, @OMPushed, true);

    app.OM.BackgroundColor = [0.8 0.8 0.8];

    app.OM.FontName = 'Times New Roman';

    app.OM.FontSize = 18;

    app.OM.Position = [22 361 121 50];

    app.OM.Text = 'Закон Ома';

    % Create Iz

    app.Iz = uibutton(app.UIFigure, 'push');

    app.Iz.ButtonPushedFcn = createCallbackFcn(app, @IzButtonPushed, true);

    app.Iz.BackgroundColor = [0.8 0.8 0.8];

    app.Iz.FontName = 'Times New Roman';

    app.Iz.FontSize = 18;

    app.Iz.Position = [22 255 121 50];

    app.Iz.Text = {'Первый закон'; 'Кирхгофа'};

    % Create IIz

    app.IIz = uibutton(app.UIFigure, 'push');

    app.IIz.ButtonPushedFcn = createCallbackFcn(app, @IIzButtonPushed, true);

    app.IIz.BackgroundColor = [0.8 0.8 0.8];

    app.IIz.FontName = 'Times New Roman';

    app.IIz.FontSize = 18;

    app.IIz.Position = [22 153 121 50];

    app.IIz.Text = {'Второй закон'; 'Кирхгофа'};

    % Create clear

    app.clear = uibutton(app.UIFigure, 'push');

    app.clear.ButtonPushedFcn = createCallbackFcn(app, @clearPushed, true);

    app.clear.BackgroundColor = [0.8 0.8 0.8];

    app.clear.FontName = 'Times New Roman';

    app.clear.FontSize = 18;

    app.clear.Position = [501 10 121 29];

    app.clear.Text = 'Очистка';

    % Create images

    app.images = uiaxes(app.UIFigure);

    title(app.images, '')

    xlabel(app.images, '')

    ylabel(app.images, '')

    app.images.AmbientLightColor = [0.502 0.502 0.502];

    app.images.GridColor = [1 1 1];

    app.images.MinorGridColor = [1 1 1];

    app.images.XColor = [0.502 0.502 0.502];

    app.images.XTick = [];

    app.images.YColor = [0.502 0.502 0.502];

    app.images.YTick = [];

    app.images.ZTick = [];

    app.images.Color = [0.502 0.502 0.502];

    app.images.BackgroundColor = [0.502 0.502 0.502];

    app.images.Position = [153 153 176 258];

    % Create TextArea_2

    app.TextArea_2 = uitextarea(app.UIFigure);

    app.TextArea_2.FontName = 'Times New Roman';

    app.TextArea_2.FontSize = 18;

    app.TextArea_2.BackgroundColor = [0.8 0.8 0.8];

    app.TextArea_2.Position = [336 153 286 124];

    % Create images_2

    app.images_2 = uiaxes(app.UIFigure);

    title(app.images_2, '')

    xlabel(app.images_2, '')

    ylabel(app.images_2, '')

    app.images_2.AmbientLightColor = [0.502 0.502 0.502];

    app.images_2.GridColor = [1 1 1];

    app.images_2.MinorGridColor = [1 1 1];

    app.images_2.XColor = [0.502 0.502 0.502];

    app.images_2.XTick = [];

    app.images_2.YColor = [0.502 0.502 0.502];

    app.images_2.YTick = [];

    app.images_2.ZTick = [];

    app.images_2.Color = [0.502 0.502 0.502];

    app.images_2.BackgroundColor = [0.502 0.502 0.502];

    app.images_2.Position = [142 10 315 133];

    % Create exit

    app.exit = uibutton(app.UIFigure, 'push');

    app.exit.ButtonPushedFcn = createCallbackFcn(app, @exitButtonPushed, true);

    app.exit.BackgroundColor = [0.8 0.8 0.8];

    app.exit.FontName = 'Times New Roman';

    app.exit.FontSize = 18;

    app.exit.Position = [22 10 121 29];

    app.exit.Text = 'Выход';

    % Show the figure after all components are created

    app.UIFigure.Visible = 'on';

    end

    end

    % App creation and deletion

    methods (Access = public)

    % Construct app

    function app = App

    % Create UIFigure and components

    createComponents(app)

    % Register the app with App Designer

    registerApp(app, app.UIFigure)

    if nargout == 0

    clear app

    end

    end

    % Code that executes before app deletion

    function delete(app)

    % Delete UIFigure when app is deleted

    delete(app.UIFigure)

    end

    end

    end


    ВЫВОДЫ
    Благодаря курсу «Прикладные пакеты моделирования» были получены навыки работы с языком программирования MATLAB в области написания различных типов выражения, а также их графического представления. А данный проект позволил применить навыки, полученные на данном курсе. Таким образом язык программирования MATLAB подходит для решения широкого спектра различных научных задач.


    написать администратору сайта