【问题标题】:Error working with data of a uitable, matlab使用 uitable,matlab 的数据时出错
【发布时间】:2014-11-10 17:44:58
【问题描述】:

我只是想从一个 uitable(使用 GUIDE 制作)中获取一些用户输入,并将这些输入保存为双精度值以计算另一个值并放入 uitable 所以这里是代码...

% --- Executes on button press in CTE.
function CTE_Callback(hObject, eventdata, handles)
% hObject    handle to CTE (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

DATA = get(handles.uitable2,'data');  
for I = 1:5
    s = DATA(1,I);
    d = DATA(2,I);
    u = DATA(3,I);
    p = DATA(4,I);
    t = DATA(5,I);
    r = DATA(6,I);
    c = DATA(7,I);
    a = DATA(8,I);

    if ((2 * s * d * u) > 0) && (((t + r) * c) + (2 * a * (1 - (u / p))) ~= 0)
         X = ((2 * s * d * u) ^ (1 / 2)) / ((((t + r) * c) + 2 * a * (1 - (u / p))) ^ (1 / 2));
    else
       disp('error,ingrese unicamente numeros positivos');   
    end

    DATA(9,I) = X;
end
set(handles.uitable2, 'data', DATA);

但我收到此错误...

“cell”类型的输入参数的未定义函数“mtimes”。

Error in GuiFinal>CTE_Callback (line 133)
    if ((2 * s * d * u) > 0) && (((t + r) * c) + (2 * a * (1 - (u / p))) ~= 0)

关于发生了什么的任何想法,我只是看不出有什么问题

【问题讨论】:

    标签: matlab matlab-guide matlab-uitable


    【解决方案1】:

    看起来DATA 是一个元胞数组。您可能需要用花括号对其进行索引:

    s = DATA{1,I};
    d = DATA{2,I};
    u = DATA{3,I};
    p = DATA{4,I};
    t = DATA{5,I};
    r = DATA{6,I};
    c = DATA{7,I};
    a = DATA{8,I};
    

    然后是:

    DATA{9,I} = X;
    

    在函数结束时,我会这样做

    guidata(hObject,handles)
    

    有关详细信息,请参阅Access Data in a Cell ArrayStore or retrieve GUI data 上的文档。

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多