如何将double转换为对象句柄以绘制等高线图?

时间:2018-01-22 14:50:24

标签: matlab

我正在使用MATLAB中的应用程序设计器,我在用户输入一组参数并按下按钮然后生成等高线图。该应用程序首先使用dlmread将数据从3个单独的文件保存到工作区。那么目标是在同一个GUI上生成相应的轮廓图,使用来自这3个文件的数据(我的x,y和z参数)。

但是,当我运行该程序时,我收到一条错误消息:

"Error setting property 'HetroTransSpec' of class 'Parameters':
Cannot convert double value 5 to a handle"

app.HetroTransSpec是我的等高线图的名称。 Parameters是我的GUI应用程序的名称。我将提供代码:

function SetParametersButtonPushed(app, event)
    spec = dlmread('/Users/******/MATLAB/SphoHetroTest/Spec3.txt'); %Load spec file
    assignin('base', 'spec', spec);
    pop=dlmread('/Users/******/MATLAB/SphoHetroTest/pop.txt');
    assignin('base', 'pop', pop);
    lambda=dlmread('/Users/******/MATLAB/SphoHetroTest/lambda.txt'); %read wavelenght axis (nm)
    assignin('base', 'lambda', lambda);

现在,我的代码是采用这些参数(spec,pop,lambda)来生成轮廓图。除了我收到这个错误:

app.HetroTransSpec = contourf(pop,lambda,spec);

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

等高线图的结果不是手柄,而是轮廓数据,而不是其他一些绘图功能。

尝试:

#!/bin/bash

function python_print() {
PYTHON_ARG="$1" python - <<END
import os
p = str(os.environ['PYTHON_ARG'])
print('The Variable is ' + p)
END
}

DIRIN=$1
FULLPATH=$ realpath $OUTFILE
python_print $FULLPATH