Matlab 如何在给定值的行数组中删除行

Matlab 如何在给定值的行数组中删除行,matlab,matlab-app-designer,Matlab,Matlab App Designer,在matlab中,我存储了我绘制的每一条线,如下所示: app.cplxPlot(app.cplxPlotNumber)= plot(app.UIAxes[app.var.cplx(1);app.var.cplx(1)],[50;250], 'g'); 为了让事情变得一般化,我好像这样做了: cplxPlot(location)=plot(app.UIAxes,[cplxPlot(1);cplxPlot(1)],[50;250],'g'); 这基本上存储了一组垂直线。现在我想删除具有某个x值

在matlab中,我存储了我绘制的每一条线,如下所示:

app.cplxPlot(app.cplxPlotNumber)= plot(app.UIAxes[app.var.cplx(1);app.var.cplx(1)],[50;250], 'g');
为了让事情变得一般化,我好像这样做了:

cplxPlot(location)=plot(app.UIAxes,[cplxPlot(1);cplxPlot(1)],[50;250],'g');
这基本上存储了一组垂直线。现在我想删除具有某个x值的行。在matlab的命令行中,我做了这个简单的if循环,看看我的第一个图的x值是否为20,它成功了

  if length(find(cplx1Plot(1).XData==value,1,'first'))==1
        disp('wow')

    end
但是,在app designer中,代码完全相同:

if length(find(app.cplx1Plot(1).XData==value,1,'first'))==1
    app.Label.Text='wow'

end
将显示错误:“这种类型的变量不支持点索引。”有人能告诉我我做错了什么吗?它在matlab脚本中工作得很好,但在AppDesigner上却不行,我不知道为什么

跟进:我刚刚使用了类函数,显然我的向量在appdesigner中存储了双精度,但它在普通的matlab中存储了类。。。我不知道为什么向量中的元素会是双精度的

后续2.0:显然,如果我访问一个属性来存储一行,它将存储为double,但是如果我选择将其作为局部变量,它将是一行。我需要这是一个属性/全局变量,我不明白为什么它会被存储为双精度

例如,在这种情况下,bob存储双倍:

        bob(1)= plot([.005;.005],[100;200],'g')
        app.Label.Text=string(class(bob(1)));
但是,bob在这方面的存储量增加了一倍:

        app.bob(1)= plot([.005;.005],[100;200],'g')
        app.Label.Text=string(class(app.bob(1)));
对于上下文,我在我的属性中声明了bob,如下所示:

bob