检查一个变量是否包含另一个变量

7视图(30天)
JPS
JPS 2020年11月29日
回答: 图像分析 2020年11月29日
你好,
我正在写一些代码来解一阶微分方程使用欧拉近似方法(没有问题如果你不知道这是什么意思)。我遇到一个情况我想检查是否一个函数处理包含一个特定变量。这就是我的意思是,
就要是一个函数句柄作为参数传递进我的用户定义函数。它们可以x或y的函数单独或两者兼而有之。我想评估它们在某些x y数组或数组或x, y数组取决于变量中所包含的信息。
当然,我可以创建三个不同的用户定义函数。但是,我想知道如果有一个更好的方法。
有什么方法可以检查是否一个函数处理包含这个或那个变量的? ? ?
%如果它们是x的函数
m (x) =就要% x是一些一维数组中
%如果它们是y的函数
m =就要(y)
%如果它们是x和y的函数
m =就要(x, y)
这就是我想要的…
谢谢你的帮助!

接受的答案

图像分析
图像分析 2020年11月29日
查找变长度输入宗量的帮助。

更多的答案(2)

图像分析
图像分析 2020年11月29日
好吧,这是一个非常健壮的代码,您可以根据需要调整:
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%测试脚本:
x = 5;
y = 5;
= 1;
dxdy (x);
dxdy (y);
dxdy (x, y);
dxdy (y);
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
函数dxdy(变长度输入宗量)
numArguments =输入参数个数;%给它一个更有意义的名称。
流(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ nnargin = % d \ n ',numArguments);
arg1Name = inputname (1)
流(的第一个参数是“% s”。\ n”,arg1Name);
如果numArguments > = 2
arg2Name = inputname (2)
流(第二个参数是“% s”。\ n”,arg2Name);
其他的
流(没有第二个参数传入。\ n”);
结束
%根据他们的传入:做不同的事情
如果numArguments > = 2
如果包含(arg1Name“x”,“IgnoreCase”真正的)& &包含(arg2Name“y”,“IgnoreCase”,真正的)
%通过在第一的位置在一个变量x的名字
%和第二位置变量y的名字。
流(“你通过在x和y,所以我处理。\ n”);
其他的
%通过他们在错误的顺序,像dxdy (y、x)或
%的名字像dxdy (a, b)。
errorMessage = sprintf (错误你通过在变量x和y的名字。\ n”);
流(“% s \ n”,errorMessage);
uiwait (errordlg (errorMessage));
结束
其他的
%他们在只有一个,通过x或y。让我们弄明白到底发生了什么事。
如果包含(arg1Name“x”,“IgnoreCase”,真正的)
%通过在第一的位置在一个变量x的名字。
流(你只通过我只处理x。\ n”);
elseif包含(arg1Name“y”,“IgnoreCase”,真正的)
%他们通过一个变量在第一位置,y的名字。
流(你只有通过y我只处理x。\ n”);
结束
结束
结束

埃米尔哈姆萨
埃米尔哈姆萨 2020年11月29日
变量名作为函数的输入是任意的。没有好办法区分m (x)和m = =就要就要(y)。“x”和“y”只是任意字母。MATLAB是而言,您可以使用任何其他的名字。你可以通过一个额外的输入欧拉求解传递函数知道哪种类型的函数处理
函数y = myEuler(它们、旗)
开关国旗
情况下1
% x的函数处理传递时写代码
情况下2
%当y的函数处理通过编写代码
情况下3
%编写代码时x和y的函数处理
否则
%可能抛出错误,要求通过正确的标记
结束
结束

类别

找到更多的在数学帮助中心文件交换

下载188bet金宝搏


释放

R2020a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!