FastICA 在matlab 2016a错误调试方法

Posted hequnwang10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastICA 在matlab 2016a错误调试方法相关的知识,希望对你有一定的参考价值。

错误:

未定义函数或变量 'data'。

出错 gui_lc (line 45)
 if length (size (data)) > 2,
 
计算 UIControl Callback 时出错


该错误提示在gui_1c.m文件的第45行出现未定义的变量‘data’,查看gui_1c.m源代码对应位置发现,data未定义。
解决:
将源代码中以下三行注释掉

varName = get(he_FastICA_file, ‘String’); %返回句柄为he_FastICA_file的图像窗口的String,即获取变量字符串
command=[evalin(’‘base’’,’‘assignin(’’’‘caller’’’’,’’’‘data’’’’,’ varName ‘)’’)]; %将工作区的varName,赋值给data
eval(command,fprintf(’‘Variable not found in MATLAB workspace, data not loaded!\\n’’);data=[];); %将括号内的字符串视为语句并运行,见help -eval


添加一行:

 data=evalin('base','ans');

修改理由:
这段代码调用了GUI变量获取工作区的命令,由于Matlab 2016R版本的问题,所以会不兼容,需要修改为意思一样的代码,data=evalin(‘base’,‘ans’)。注意:此时将运行demosig.m文件生成的‘ans’ 赋值给了data, 所以此时不需要在弹出窗口“Name of the variable”框中输入变量名,直接点击load 即可。
此时就可以正常使用了!

以上是关于FastICA 在matlab 2016a错误调试方法的主要内容,如果未能解决你的问题,请参考以下文章

matlab的密钥输错了但是激活成功了,会有影响吗,就是安装R2014a,但是密钥输入的2016a?

语音分离基于matlab FastICA语音信号盲分离含Matlab源码 1952期

matlab 2016a simulink 图例

Matlab2016a simulink 图例

Linux安装MATLAB2016a

Matlab高级教程_第二篇:Matlab2016a和VS2013混合