【问题标题】:Matlab function that accepts figure handle or file name as input?接受图形句柄或文件名作为输入的Matlab函数?
【发布时间】:2016-06-24 23:20:21
【问题描述】:

我想写一个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

【问题讨论】:

  • 我已经编辑了问题。

标签: matlab


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多