在一个buttonpushed时间里调用了eval 报错如标题
3条回答 默认 最新
- Leodong. 2023-05-12 10:04关注
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在MATLAB App Designer中,不能直接使用eval函数来执行字符串形式的MATLAB代码,因为MATLAB App Designer使用了不同的代码执行方式。如果直接使用eval函数,会报错提示eval函数无法识别。为了在MATLAB App Designer中执行字符串形式的MATLAB代码,可以使用以下两种方法:
方法一:在App Designer中使用evalin函数
evalin函数可以在指定的工作区中执行字符串形式的MATLAB代码。因此,在MATLAB App Designer中,可以使用evalin函数来执行字符串形式的MATLAB代码。例如,可以在buttonpushed事件中使用以下代码:
code = "a = 1 + 2"; evalin('base', code);
以上代码可以将字符串"1 + 2"作为MATLAB代码执行,在base工作区中创建变量a,并将其值设置为3。
方法二:在App Designer中使用feval函数
feval函数可以在指定的工作区中调用指定的函数。因此,在MATLAB App Designer中,可以使用feval函数来调用字符串形式的MATLAB函数。例如,可以在buttonpushed事件中使用以下代码:
func = str2func('max'); a = 1; b = 2; c = 3; result = feval(func, a, b, c);
以上代码可以调用MATLAB内置函数max,并将变量a、b、c作为参数传递给该函数,最终返回三个参数中的最大值。
以上两种方法均可以在MATLAB App Designer中执行字符串形式的MATLAB代码。需要注意的是,evalin函数和feval函数都需要指定工作区,以确保代码执行的正确性。同时,也需要注意evalin和feval函数的安全性问题,避免因为执行不当导致潜在的安全问题。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
解决 无用评论 打赏 举报
悬赏问题
- ¥15 思科模拟器Router c3600 NM-4E
- ¥15 岛津txt格式文件转nirs格式
- ¥15 石墨烯磁表面等离子体
- ¥15 angular 项目无法启动
- ¥15 安装wampserver,图标绿色,但是无法进入软件
- ¥15 C++ MFC 标准库 加密解密解惑
- ¥15 两条数据合并成一条数据
- ¥15 Ubuntu虚拟机设置
- ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项
- ¥15 electron 如何实现自定义安装界面