关于分配参数的Matlab输出错误

时间:2016-05-28 07:57:46

标签: matlab output

我有以下代码:

function [T,U]=thetamethod(fun, S, u0, theta , h, makePlot)

if nargin < 6
makePlot = 0;
end

minT=min(S);
maxT=max(S);

t=[minT:h:maxT];
u=zeros(length(u0),length(t));
u(:,1)=u0;

for i=1:length(t)-1

for j=1:length(u0)

    delta_function  = @(x) x - u(j,i) - h*((1-theta)*fun(t(i), u(j,i)) + (theta)*fun(t(i+1), x));
    delta = delta_function(u(j,i));
    jacobean = @(x) numjac(@(t,u) delta_function(u),  0, x, delta_function(x), 1e-10, [], 1);
    u(j,i+1) = multinewton(delta_function,jacobean,u(j,i),0.1,10000);

end

end


if length(S)==2
T=t';
U=u';

else
T = S';
U=zeros(length(T),length(u0));

for i=1:length(u0);
    U(:,i) = interp1(t',u(i,:),T);
    U(end,i)=u(i,end);
end

end

if (makePlot)
figure;
plot(t,u);
xlabel('time t');  ylabel('u(t)');
set(gca, 'xlim', [S(1) S(end)]);
end

end

用于计算theta方法。 但是,当我调用此函数时,我将收到一个错误:

“调用”theta方法“时未分配输出参数”x“(可能还有其他)。”

有人知道我的代码中有什么(小)的东西要改变吗?

的Gr

0 个答案:

没有答案