小编Edr*_*ric的帖子

Matlab - 为数组的每个元素运行带参数的函数?

Matlab有一个很好的属性,标量函数(例如sin)可以在数组上工作,对数组的任何元素进行操作并返回数组作为结果.

我有一个标量函数f(x,p),其中x是一个标量,并且p是一个参数(实际上是一个参数数组).给定一个固定的参数p,我希望f(x,p)在一个数组上运行A.在像Ruby这样的语言中,它看起来像这样:

A.collect{|x| f(x,p)}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在Matlab中为接受参数的函数而不仅仅是我想要操作的数组中的标量.

arrays matlab

5
推荐指数
1
解决办法
3279
查看次数

2
推荐指数
1
解决办法
262
查看次数

为什么这个MATLAB类不能保留其属性?

我必须在这里找到一些非常简单的东西.我有一个MATLAB类,它创建一个包含两个按钮的图形,每个按钮调用相同的功能,但这些按钮的句柄不保留在该函数中,我不知道为什么.

这是班级,简化......

classdef Test

    properties
        Figure
        ButtonA
        ButtonB
    end

    methods    
        function app = Test()       
            app.Figure = figure();

            app.ButtonA = uicontrol('Style', 'pushbutton', ...
                'String', 'Button A', ...
                'Position', [10, 10, 100, 20], ...
                'Callback', @app.PressButton);
            app.ButtonB = uicontrol('Style', 'pushbutton', ...
                'String', 'Button B', ...
                'Position', [10, 120, 100, 20], ...
                'Callback', @app.PressButton);
        end

        function PressButton(app, Button, ~)
            Button
            app.ButtonA
            app.ButtonB
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

如果我调用它会打开图形,并显示按钮的句柄编号:

>> T = Test
T = 
  Test with properties:

     Figure: 8
    ButtonA: 745.000122070313
    ButtonB: 103.002319335938
>> T.ButtonA …
Run Code Online (Sandbox Code Playgroud)

matlab class matlab-figure

2
推荐指数
1
解决办法
77
查看次数

标签 统计

matlab ×3

arrays ×1

class ×1

matlab-figure ×1