为什么我的代码显示错误?为什么删除该行?

8个视图(过去30天)
太平绅士
太平绅士 2019年11月23日
评论: 1月 2019年11月23日
你好
这是我的代码,用于填写方框图,并将平均值可视化为十字“x”。
h=findobj(gca,“标签”,“盒子”);
对于p=1:长度(h)
补丁(get (h (p),“扩展数据”),得到(h (p),“伊达塔”),cmap(5-p,:),“FaceAlpha”5);
eval ([“平均本地=平均值”污点'_',奥林,'_',magn,'_',comp,"(p,1)"])
地块(p,表示局部,“x”,“MarkerSize”,15,“MarkerEdgeColor”,cmap(p,:),“MarkerFaceColor”,cmap(p,:),“线宽”,2)
终止
经过几次迭代后,我得到以下错误:
错误使用matlab.graphics.primitive.Line/get
无效的或删除对象。
错误箱中绘图2(第77行)
补丁(get (h (p),“扩展数据”),得到(h (p),“伊达塔”),cmap(5-p,:),“FaceAlpha”5);
我似乎不明白为什么h(p)是删除行的句柄。我的代码中没有任何东西可以删除内容。
如果有人能帮我解决这个问题,我将不胜感激。

答复(1)

1月
1月 2019年11月23日
显示的代码没有重现问题。我们不能可靠地猜测,为什么其中一个对象 H 被删除。但是一个微弱的猜测:
情节 是一个高级命令,用于清除当前 斧头 对象在插入新元素之前-除非您已调用 等一下 在“NextPlot”属性之前或将其设置为“add”。
这个 评估 命令是一个非常糟糕的设计。请参阅 教程:如何以及为什么避免评估
2评论
1月
1月 2019年11月23日
@Image分析师: 格式化输出 价值 卑鄙的 未调整。不幸的是 eval () 是真正需要的,因为OP存储了变量,并在 名称 变量的类型:
meanLocal = mean_STAIN_ORIEN_MAGN_COMP (p, 1)
%其中大写部分是可变的

登录以发表评论。

标签

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!