matlab函数图形模拟器源代码,直接拿走就用

发布于:2022-12-21 ⋅ 阅读:(836) ⋅ 点赞:(0)

可以实现模拟正弦函数,余弦函数。以及可调节a的二次函数y=ax^2

classdef app1 < matlab.apps.AppBase

    % Properties that correspond to app components
    properties (Access = public)
        UIFigure         matlab.ui.Figure
        aEditField       matlab.ui.control.NumericEditField
        aEditFieldLabel  matlab.ui.control.Label
        Slider           matlab.ui.control.Slider
        SliderLabel      matlab.ui.control.Label
        yax2Button       matlab.ui.control.Button
        ycosxButton      matlab.ui.control.Button
        ysinxButton      matlab.ui.control.Button
        UIAxes           matlab.ui.control.UIAxes
    end

    % Callbacks that handle component events
    methods (Access = private)

        % Button pushed function: ysinxButton
        function ysinxButtonPushed(app, event)
            x=linspace(0,2*pi,100)
            y=sin(x)
            plot(app.UIAxes,x,y);
           
            app.UIAxes,Xlim=[0,2*pi];
            app.UIAxes,Ylim=[-1,1];
             xlabel(app.UIAxes,'x');
            ylabel(app.UIAxes,'sin(x)');
            title(app.UIAxes,'三角函数');
            
        end

        % Button pushed function: ycosxButton
        function ycosxButtonPushed(app, event)
      x=linspace(0,2*pi,100)
            y=cos(x)
            plot(app.UIAxes,x,y);
           
            app.UIAxes,Xlim=[0,2*pi];
            app.UIAxes,Ylim=[-1,1];
             xlabel(app.UIAxes,'x');
            ylabel(app.UIAxes,'cos(x)');
            title(app.UIAxes,'三角函数');
        end

        % Button pushed function: yax2Button
        function yax2ButtonPushed(app, event)
            x=linspace(-10,10,100)
            a=app.aEditField.Value
            y=a*x.^2
            plot(app.UIAxes,x,y);
           
            app.UIAxes,Xlim=[-10,10];
            app.UIAxes,Ylim=[0,100];
             xlabel(app.UIAxes,'x');
            ylabel(app.UIAxes,'a*x^2');
            title(app.UIAxes,'二次函数');
        end

        % Callback function
        function SliderValueChanged(app, event)
            app.aEditField.Value=app.Slider.Value
            yax2ButtonPushed(app, event)
            
        end

        % Callback function
        function SliderValueChanged2(app, event)
           
            
        end

        % Value changed function: Slider
        function SliderValueChanged3(app, event)
           app.aEditField.Value = app.Slider.Value;
            yax2ButtonPushed(app, event)
        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.Position = [100 100 640 480];
            app.UIFigure.Name = 'MATLAB App';

            % Create UIAxes
            app.UIAxes = uiaxes(app.UIFigure);
            title(app.UIAxes, 'Title')
            xlabel(app.UIAxes, 'X')
            ylabel(app.UIAxes, 'Y')
            zlabel(app.UIAxes, 'Z')
            app.UIAxes.Position = [1 175 368 259];

            % Create ysinxButton
            app.ysinxButton = uibutton(app.UIFigure, 'push');
            app.ysinxButton.ButtonPushedFcn = createCallbackFcn(app, @ysinxButtonPushed, true);
            app.ysinxButton.Position = [413 278 100 22];
            app.ysinxButton.Text = 'y=sin(x)';

            % Create ycosxButton
            app.ycosxButton = uibutton(app.UIFigure, 'push');
            app.ycosxButton.ButtonPushedFcn = createCallbackFcn(app, @ycosxButtonPushed, true);
            app.ycosxButton.Position = [413 230 100 22];
            app.ycosxButton.Text = 'y=cos(x)';

            % Create yax2Button
            app.yax2Button = uibutton(app.UIFigure, 'push');
            app.yax2Button.ButtonPushedFcn = createCallbackFcn(app, @yax2ButtonPushed, true);
            app.yax2Button.Position = [413 175 100 22];
            app.yax2Button.Text = 'y=a*x^2';

            % Create SliderLabel
            app.SliderLabel = uilabel(app.UIFigure);
            app.SliderLabel.HorizontalAlignment = 'right';
            app.SliderLabel.Position = [414 343 36 22];
            app.SliderLabel.Text = 'Slider';

            % Create Slider
            app.Slider = uislider(app.UIFigure);
            app.Slider.Limits = [0.1 10];
            app.Slider.ValueChangedFcn = createCallbackFcn(app, @SliderValueChanged3, true);
            app.Slider.Position = [471 352 118 7];
            app.Slider.Value = 0.1;

            % Create aEditFieldLabel
            app.aEditFieldLabel = uilabel(app.UIFigure);
            app.aEditFieldLabel.HorizontalAlignment = 'right';
            app.aEditFieldLabel.Position = [462 389 25 22];
            app.aEditFieldLabel.Text = 'a';

            % Create aEditField
            app.aEditField = uieditfield(app.UIFigure, 'numeric');
            app.aEditField.Position = [502 389 81 15];
            app.aEditField.Value = 1;

            % 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 = app1

            % 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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到