当前位置: 首页 > 知识库问答 >
问题:

从MatLab中的弹出菜单返回字符串值

白赞
2023-03-14

我正在用MATLAB(指南)开发一个简单的GUI,其中有一个弹出菜单。以便通过串行端口建立连接。

function sendLog_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.popupmenuSerialPort,'String', {'''COM1''','''COM2''','''COM3''','''COM4'''});
...

我希望通过以下方式获得所选值:

serialPortList = get(handles.popupmenuSerialPort,'String');
    serialPortValue = get(handles.popupmenuSerialPort,'Value');
    serialPort = serialPortList(serialPortValue);
    disp('serialPort ' + serialPortValue);

但我在disp函数上收到一条错误消息:

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

指定的端口无效。

如何获得所选的值?

共有3个答案

范承望
2023-03-14

尝试数组连接:
disp(['SerialPort:'serialPortValue])

龙星辰
2023-03-14

不能在matlab中使用“”组合字符串。你可以做:

disp(['serialPort',num2str(serialPortValue)]);
冯星阑
2023-03-14

我讨厌费力地回答两个显然不坏的问题,但问题在于细节。是的,您不能在MATLAB中将字符串与运算符连接起来,但是您的问题中的第一个危险信号是您的错误消息将一个单元格作为的参数之一。请注意,disp在这一点上甚至没有抛出错误,而是。这让我相信你的代码实际上是disp('序列端口'序列端口);而不是disp('序列端口'序列端口值);因为序列端口列表是一个单元格数组。这是打字错误吗?

因此,通过索引它,如serialPort=serialPortList(serialPortValue)您在serialPort中得到一个单元格,它不能与正确的字符串连接或disp一起工作。这里的更正是使用大括号({})。

连同有效的字符串连接,

>> serialPort = serialPortList{serialPortValue};
>> disp(['serialPort ' serialPort])
serialPort 'COM3'

单引号在字符串中,因为您如何设置字符串与set(handles.popupmenuSerialPort,'String',...,所以如果你想剥离,你可以使用strrep(序列端口,'''','')

请注意,如果您更喜欢字符串格式的样式,您也可以使用fprintf

 类似资料:
  • mui框架内置了弹出菜单插件,弹出菜单显示内容不限,但必须包裹在一个含.mui-popover类的div中,如下即为一个弹出菜单内容: <div id="popover" class="mui-popover"> <ul class="mui-table-view"> <li class="mui-table-view-cell"><a href="#">Item1</a></li

  • 我创建了一个方法来输出字符串。使用split方法和for循环,我将句子中的每个单词添加到字符串数组中,将每个单词的最后两个字母替换为“ed”。现在,我的return语句应该返回每个单词。当我用system.out.print时,它起作用了。当我使用一个return并在我的main方法中调用它时,我得到这样的输出:“[Ljava.lang.String;@1B6235B” 这个错误看起来很简单,但我

  • 编者按:这个问题中的语法早于Rust 1.0,1.0更新的语法会产生不同的错误,但Rust 1.0中的总体概念仍然相同。 我有一个带有字段的结构T,我想从函数返回该字符串。我不想复制整个字符串,只是指针: 为什么这是错误的?返回

  • 主要内容:矩形字符数组,示例,将字符串组合成单元格数组,示例,MATLAB中的字符串函数,例子在MATLAB中创建一个字符串非常简单。 事实上,在前面的示例中我们已经使用了很多次。 例如,在命令提示符下键入以下内容: MATLAB执行上述语句并返回以下结果 - MATLAB将所有变量视为数组,并将字符串视为字符数组。使用命令来检查上面创建的变量 - 有趣的是,可以使用或等数字转换函数将字符串中的字符转换为数字代码。 函数将整数向量转换回到字符 - 示例 创建脚本文件并在其中键入以下代码 -

  • 我是新的java和卡在如何返回已输入的整个地址,因为我目前只返回第一个字。下面是代码: 如果有任何帮助,我将不胜感激。

  • Spring WebFlux的新手,尝试在一个endpoint中返回字符串数组,出于某种原因,它返回了JSON数组的一个串联字符串istead。 用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如数组