现象
利用Matlab中远程执行PLTS时出现计算的flength,gate,char,ZAcentr,ZAzero等值为NaN,且在执行过程中等待的时间较长,说明执行过程中出现问题,程序被卡住;
3. 原因分析和解决方法
原因分析:PLTS需要调用的是数据文件的路径,但传递过来的不是文件路径,而是数据文件;
例如:在function obj=getAFR1Xreflect_PLTS(obj)函数中:
原先传递的数据文件路径:thruFile = obj.std.stdReflect1;
需要数据文件路径的代码:
fprintf(instr, sprintf(':AFR:STANdard:LOAD %s,"%s"', std, thruFile));
fprintf(instr, sprintf(':AFR:STANdard:LOAD %s,"%s"', std2, fixdutFile));
但是在obj类中,stdReflect1是数据,而非数据路径,obj.std类数据如下:
由上图可知,fileReflect1才是文件路径,故正确的方法是将源码
thruFile = obj.std.stdReflect1; 修改为
thruFile = obj.std.fileReflect1;