问题:
未定义变量 "handles" 或函数 "handles.text4"。
出错 xiaobo (line 1)
set( handles.text4,'visible','on')
前面的部分程序:
set( handles.text4,'visible','on')
pause(1)
[X,map]=imread('C:\Users\Princentyd\Desktop\图片\1.jpg');
%map是色谱,map每一行分别代表R、G、B,涵盖了图像中出现的所有颜色组合。 %X是像素颜色值,数据矩阵X的值指向map的某一行。
X1=X;
map1=map;
subplot(2,2,1);
image(X1);
matlab提示未定义函数或变量的解决办法:
1、首先需要知道matlab中查2113看数据类型函数是class,可以先在命令行窗口中help class。
2、在5261命令行窗口中输入“4102a=123 class(a)”。
3、按回车1653键可以看到变量a的类型是double类型。
4、输入“b='1234' class(b)”。
5、按回车键之后,可以看到变量b的类型是字符类回型,我们也可以查看一下matlab中常用数答据类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-11
你这个是GUI文件吧。这里提示你没有找到相应的句柄值。GUI所有的句柄值都在handles结构体中。
如果你这个程序是从别的地方下载的正确程序的话。很可能是你打开的方式有问题导致的。matlab的GUI文件不能直接点.fig格式的文件进行打开。否则不会调用一个open..的函数。这个函数里面对所用到的结构体进行更新。如果没调用的话,就会出现你这个找不到结构体的问题。
你可以参考打开如下GUI文件(tsp_tabu)的三种方式:
matlab中GUI界面打开的3种方式
方法一:
将文件放到matlab当前工作目录或者添加文件目录到matlab搜索目录中。然后在命令空间输入tsp_tabu.
方法二:
打开tsp_tabu_gui.m文件,然后点击上方run字样的绿色箭头。
方法三:
在命令空间输入guide,选择open existing GUI->browse->tsp_tabu_gui.fig.然后点击上方的run字样的绿色箭头。
不知道你是不是这个问题导致的,如果不是的话。说明是程序某个地方出错。你慢慢打断点调试也能调试出来。单凭现在这点信息,是无法再进一步分析了的。本回答被提问者和网友采纳
如果你这个程序是从别的地方下载的正确程序的话。很可能是你打开的方式有问题导致的。matlab的GUI文件不能直接点.fig格式的文件进行打开。否则不会调用一个open..的函数。这个函数里面对所用到的结构体进行更新。如果没调用的话,就会出现你这个找不到结构体的问题。
你可以参考打开如下GUI文件(tsp_tabu)的三种方式:
matlab中GUI界面打开的3种方式
方法一:
将文件放到matlab当前工作目录或者添加文件目录到matlab搜索目录中。然后在命令空间输入tsp_tabu.
方法二:
打开tsp_tabu_gui.m文件,然后点击上方run字样的绿色箭头。
方法三:
在命令空间输入guide,选择open existing GUI->browse->tsp_tabu_gui.fig.然后点击上方的run字样的绿色箭头。
不知道你是不是这个问题导致的,如果不是的话。说明是程序某个地方出错。你慢慢打断点调试也能调试出来。单凭现在这点信息,是无法再进一步分析了的。本回答被提问者和网友采纳
第2个回答 推荐于2017-09-15
matlab中变量未定义:
在命令窗口中输入的时候要调用函数QPSK_evm(s),其中输入前,首先定义一下s,如:赋值s = 1:10,这样再调用QPSK_evm(s),就不会出现如此问题了!
就是如果给一个变量赋值,而且是在内,也就是说,要满足一个条件才能改这一变量赋值,而如果运行时输入的数据不满足,那么这个变量就没有被赋值,也就是未定义
在命令窗口中输入的时候要调用函数QPSK_evm(s),其中输入前,首先定义一下s,如:赋值s = 1:10,这样再调用QPSK_evm(s),就不会出现如此问题了!
就是如果给一个变量赋值,而且是在内,也就是说,要满足一个条件才能改这一变量赋值,而如果运行时输入的数据不满足,那么这个变量就没有被赋值,也就是未定义