PSAT 2.1.11与Matlab R2015b导出.fig文件时报错求助
PSAT 2.1.11导出.fig图形报错修复方案
问题场景
- 使用环境:PSAT 2.1.11 + Matlab R2015b
- 操作:从PSAT GUI导出.fig格式图形
- 报错信息:
Reference to non-existent field 'axesplot'. Error in fm_plot (line 484) axs_pos = get(Hdl.axesplot,'Position'); Error while evaluating UIControl Callback''
- 已尝试操作:重新安装PSAT和Matlab,问题未解决
修复步骤
1. 检查Hdl结构体的axesplot字段初始化
打开fm_plot.m文件,搜索Hdl.axesplot =语句,确认该字段是否被正确初始化:
- 如果未找到该语句,在图形初始化的代码段(比如创建绘图窗口之后)添加:
% 替换figure_handle为实际的绘图窗口句柄变量 Hdl.axesplot = axes('Parent', figure_handle);
- 如果已存在该语句,检查其执行顺序是否在第484行之前,确保字段被定义后再调用。
2. 替换坐标轴位置的获取逻辑
若无法确认axesplot字段的正确初始化方式,直接修改第484行代码,绕过对Hdl.axesplot的依赖:
将原代码:
axs_pos = get(Hdl.axesplot,'Position');
替换为:
% 从当前绘图窗口中查找坐标轴对象 ax_obj = findobj(gcf, 'Type', 'axes'); if ~isempty(ax_obj) axs_pos = get(ax_obj(1),'Position'); else error('未找到有效坐标轴对象'); end
3. 适配Matlab R2015b的图形对象语法
检查fm_plot.m中所有图形句柄的赋值逻辑,确保符合Matlab R2015b的语法规范,避免因版本兼容问题导致句柄未被正确存入Hdl结构体。
内容的提问来源于stack exchange,提问作者katso rikodo
相关产品推荐
相关产品推荐

