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中为抛物型偏微分方程的显式方法编写一个代码,初始条件是u(x,0)=sin(pi*x) 调用我编写的函数时 显式(0,0,sin(pi*x),0,0,1,0,1,3,2,0.25,0.25) 其余的输入函数引用不同的值和边界条件 其中,sin(pi*x)指的是我的代码问题区域。在代码self中,我为这个边界条件编写了代码 for j = 1:(n+2) i = (n+2) x = (a -h) + h*j u(i,j) = Y

调用函数时如何使用更改的输入?我遇到的问题是,我必须在Matlab中为抛物型偏微分方程的显式方法编写一个代码,初始条件是
u(x,0)=sin(pi*x)

调用我编写的函数时

显式(0,0,sin(pi*x),0,0,1,0,1,3,2,0.25,0.25)

其余的输入函数引用不同的值和边界条件

其中,
sin(pi*x)
指的是我的代码问题区域。在代码self中,我为这个边界条件编写了代码

for j = 1:(n+2)
i = (n+2)
 x = (a -h) + h*j
 u(i,j) = Y_below
end
下面的
Y_
u(x,0)=sin(pi*x)

当下面的边界条件
Y_
等于任何数字时,这正是我希望它的工作方式。调用我的函数时,我不知道如何使用正在更改的x

我尝试过谷歌,我能得到的最接近这个的是varargin,但我不知道如何使用它。
我是Matlab新手,这是我为一项作业编写的第一个程序。任何帮助都将不胜感激

我不确定这是否是您想要的,但是
如果您按照以下方式定义函数:

function output = myfunction(input1, input2, varargin)
然后,
varargin
是一个函数内参数,它收集所有
除input1、input2之外的其他参数。这意味着
如果按如下方式调用此函数:

outp = myfunction(inp1, inp2, inp3, inp4, inp5);
然后,在该功能中,以下内容将保持不变:

input1 = inp1;
input2 = inp2;
varargin{1} = inp3;
varargin{2} = inp4;
varargin{3} = inp5;
您可以(在函数中)检查
使用
nargin

传递参数这至少有助于理解varargin函数,尽管该函数与我的想法不太相符。然而,我刚刚决定进入边界,当它是像sin(pi*x)这样的人进入函数代码本身时,然后它就可以正常工作了?调用函数后,值是否会改变,或者它只是一个长度不同的向量?x会根据函数内的循环改变其值