Matlab:如何使用不同的函数输出

时间:2013-04-02 10:18:03

标签: matlab function output

我有功能

function [imag2] = sumIntegral(x,w,a,b,c,p)
    imag2 = zeros(p-1,p);
for k = 1:p-1
    f = @(t)(1:p-1==k)*Integrand[1](t,x,w,a,b,c);
    imag2(k,:) = quadv(f,x(k),x(k+1));
end

,而 Integrand[1]应该是此功能的real2

[real2,real3,imag2,imag3] = Integrand(t,x,w,a,b,c,p);

问题是,如果我之前定义了Integrand函数,则会收到错误,因为t未定义。您知道如何在real2中将t写为函数吗?

2 个答案:

答案 0 :(得分:0)

你可以创建一个只输出第一个参数的虚拟代理函数:

function real2 = MyIntergrand(t,x,w,a,b,c)
    real2 = Integrand(t,x,w,a,b,c);
end

答案 1 :(得分:0)

只需在for循环中定义快速功能

即可
function [imag2] = sumIntegral(x,w,a,b,c,p)
    imag2 = zeros(p-1,p);
    f = @(t)(1:p-1==k)*Integrand[1](t,x,w,a,b,c);
    for k = 1:p-1        
    imag2(k,:) = quadv(f,x(k),x(k+1));
    end
end