- 这是在matlab进行 app 编程中需要的坑
声明全局变量 global g_ax
默认double类型
g_ax(i)=subplot(2,3,i);
还是double类型
plot是没问题的,可能自动转化类型了。
但是下面这句出问题了
yyaxis (g_ax(i) ,"right");
提示如下
此类型的变量不支持使用点进行索引。
出错 yyaxis
原因是类型没有自动转换
怎么办?
第一次赋值前,定义g_ax的类型就可以
matlab怎么定义这种GUI对象类型呢?
%workspace中,将鼠标放在变量上会出现变量类型
g_ax=matlab.graphics.axis.Axes;
!!!!!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!!!!
你加上上面一行,如果不关闭matlab也不好使!
因为全局变量的类型在第一次生成时已经定了,你再运行app ,global变量不会再次生成了。
当然,执行下面指令可以清除定义
clear global variable
你可以在matlab命令行执行一次,或者直接放在第一次 global 定义之前即可。