簡體   English   中英

Matlab:如何使用不同的函數輸出

[英]Matlab: how to work with different outputs of function

我有功能

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未定義。 您知道如何在t real2編寫為函數嗎?

您可以制作一個僅輸出第一個參數的虛擬代理功能:

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

只需在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM