1

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

调用我写的函数时

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

其余的输入函数指的是不同的值和边界条件。

wheresin(pi*x)对我来说是指代码的问题区域。在我为这个边界条件编写的代码中

for j = 1:(n+2)
i = (n+2)
 x = (a -h) + h*j
 u(i,j) = Y_below
end

Y_belowu(x,0) = sin(pi*x)

Y_below 当边界条件等于任何数字时,这完全符合我的要求。我不知道在调用我的函数时如何使用不断变化的 x

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

4

1 回答 1

0

我不确定这是否是您要查找的内容,但
如果您将函数定义如下:

function output = myfunction(input1, input2, varargin)

thenvarargin是一个 infunction 参数,它收集
除了 input1、input2 之外的所有其他参数。这意味着
如果您按如下方式调用此函数:

outp = myfunction(inp1, inp2, inp3, inp4, inp5);

那么在这个函数中,以下内容将成立:

input1 = inp1;
input2 = inp2;
varargin{1} = inp3;
varargin{2} = inp4;
varargin{3} = inp5;

您可以使用 . 检查(在函数内)传递的参数的数量nargin

于 2013-05-06T04:16:28.237 回答