Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接受图形句柄或文件名作为输入的Matlab函数?_Matlab - Fatal编程技术网

接受图形句柄或文件名作为输入的Matlab函数?

接受图形句柄或文件名作为输入的Matlab函数?,matlab,Matlab,我想写一个matlab函数,除了一个输入参数外,它可以是.fig文件的图形句柄或文件名。如果没有提供输入,我将调用uigetfile。到目前为止,我无法得到我的函数接受图形句柄和修改绘图。请记住,代码还应检查输入是图形句柄还是文件名。 请帮我做这个 function []=changexlim(varargin) % This function changes xlim for various values and narginchk(0,1) if nargin==0 [file,

我想写一个matlab函数,除了一个输入参数外,它可以是.fig文件的图形句柄或文件名。如果没有提供输入,我将调用uigetfile。到目前为止,我无法得到我的函数接受图形句柄和修改绘图。请记住,代码还应检查输入是图形句柄还是文件名。 请帮我做这个

 function []=changexlim(varargin)
% This function changes xlim for various values and 
narginchk(0,1)
if nargin==0
    [file,path]=(uigetfile('*.fig','Select matlab figure'));
    fil=fullfile(path,file);
    openfig(fil)
    xlim([0 5])
end

if nargin==1
    check=ishandle(varargin)
    if check==1
        gca=get(varargin,'CurrentAxis')
        xlim(gca,[0 5])
    else if check==0
         openfig(varargin)
         xlim([0 5])    
        end
    end

figure(varargin)
end

varargin
是一个单元数组。您必须使用逗号分隔的列表语法
varargin{:}
将其传递给函数。

我已经编辑了这个问题。