Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何保存已编辑的uitable?_Matlab_Matlab Uitable - Fatal编程技术网

Matlab 如何保存已编辑的uitable?

Matlab 如何保存已编辑的uitable?,matlab,matlab-uitable,Matlab,Matlab Uitable,在一个函数中,我以编程方式创建了一个带有绘图的可编辑uitable。每当单元格值更改时,绘图都会更新。我想将新编辑的表设置为输出。到目前为止,我的代码是: function outputTable=begrenzung() t=表(Drehzahl,Drehmoment,'RowNames',{'Startpunkt''P1''P2''P3''Endpunkt'}); fig=UIFig; 图位置(3:4)=[822 360]; uit=uitable(图,“ColumnEditable”,真)

在一个函数中,我以编程方式创建了一个带有绘图的可编辑uitable。每当单元格值更改时,绘图都会更新。我想将新编辑的表设置为输出。到目前为止,我的代码是:

function outputTable=begrenzung()
t=表(Drehzahl,Drehmoment,'RowNames',{'Startpunkt''P1''P2''P3''Endpunkt'});
fig=UIFig;
图位置(3:4)=[822 360];
uit=uitable(图,“ColumnEditable”,真);
uit.Data=t;
uit.FontSize=10;
uit.fontwweight=‘粗体’;
uit.ColumnEditable=true;
位置(3)=375;
ax=ui轴(图);
最大位置(1)=415;
ax.YLabel.String='Drehmoment[Nm]';
ax.XLabel.String='Drehzahl[rpm]';
x=t{:,1};
y=t{:,2};
面积(ax,x,y);
ax.XLim=[0.45];
ax.YLim=[0 2000];
ax.Title.String='Feld der gefahrenen Punkte';
uit.CellEditCallback=@updatePlot;
函数outputTable=updatePlot(src,事件)
面积(ax,uit.Data{:,1},uit.Data{:,2});
结束
结束

每次值更改后如何保存更新的uitable?

我找到了一个解决方案,尽管这可能不是一种优雅的方式:

function [outputTable] = begrenzung() 

    t = table(Drehzahl, Drehmoment,...
        'RowNames',{'Startpunkt' 'P1' 'P2' 'P3' 'P4' 'Endpunkt'});

    fig = uifigure;    
    fig.Position(3:4) = [822 360]; 

    uit = uitable(fig);     
    uit.Data = t;    
    uit.FontSize = 10;   
    uit.FontWeight = 'bold'; 
    uit.ColumnEditable = true;   
    uit.Position(3) = 375;     
    ax = uiaxes(fig);     
    ax.Position(1) = 415;    
    ax.YLabel.String = 'Drehmoment [Nm]';    
    ax.XLabel.String = 'Drehzahl [rpm]';     
    x = t{:,1}; 
    y = t{:,2};     
    fill(ax,x,y,'c');   
    ax.XLim = [0 45]; 
    ax.YLim = [0 2000];     
    ax.Title.String = 'Feld der gefahrenen Punkte';     
    uit.CellEditCallback = @updatePlot;


        function [test] = updatePlot(src,event) 

            fill(ax,uit.Data{:,1},uit.Data{:,2},'c'); 
            outputTable = uit.Data; 

        end 

    outputTable = uit.Data;

    uiwait(fig);

end 

这样,我的输出就是已更改的表

回调的“输出”是什么意思?回调是用户在GUI上执行操作时调用的一组命令。没有使用回调产品的程序部件。如果需要,您可以在另一个程序或回调中使用它,从uitable句柄,或将表数据保存到回调中的文件中。您希望将数据保存在哪里?在文件中?在工作区变量中?