首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩阵维数必须一致

矩阵维数必须一致
EN

Stack Overflow用户
提问于 2013-11-20 23:59:40
回答 1查看 635关注 0票数 0

我的下拉列表包含了ff。弦:低通,高通,高通,停音。每当我选择低通,下面的错误显示。下面的代码适用于其他代码。

当我选择低通和高通时,我的目标是使edtCutoff2和txtRange不可见,但是下面的代码只适用于高通。

错误:

代码语言:javascript
复制
Error using  == 
Matrix dimensions must agree.

Error in untitled>popFreqResp_Callback (line 168)
if ((str == 'Stop Band') | (str == 'Band Pass') == 1)

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in untitled (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in@(hObject,eventdata)untitled('popFreqResp_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

代码段

代码语言:javascript
复制
function popFreqResp_Callback(hObject, eventdata, handles)
list=get(handles.popFreqResp,'String');
str=list{get(handles.popFreqResp,'Value')};
if ((str == 'Stop Band') | (str == 'Band Pass') == 1)
    set(handles.edtCutoff2,'Visible','on');
    set(handles.txtRange,'Visible','on');
else
    set(handles.edtCutoff2,'Visible','off');
    set(handles.txtRange,'Visible','off');
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 00:27:12

您不应该使用'==‘来比较字符串,因为如果字符串的长度不一样,它会抛出您看到的错误。本质上,'==‘就是比较两个char类型的矩阵--如果它们没有相同的长度,就没有定义'==’。由于“低通”的长度为8,而“带通”的长度为9,因此不能以这种方式对它们进行比较。

使用strcmp代替。或者strcmpi如果你不关心案子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20109738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档