0
我剛剛開始使用MATLAB,我正在尋求關於如何使用更多參數來使函數工作的建議。太多的輸出參數錯誤:MATLAB
我已經建立了這個公式:
I = real((U0.*exp(i.*vw.*vt))./(L.*(-vw.^2+ (R/L).*i.*vw + (1/L.*C)))) + ...
exp((-R.*vt)./(2.*L).*(alpha.*cos(sD.*vt)+ beta.*sin(sD.*vt)));
因此我需要的值U0
,vw
,vt
,L
,R
如果我把這個命令窗口:
D = (1/L*C)-((R^.2)/(4*L^.2));
sD = sqrt(D);
vt = linspace(tmin,tmax,200);
vw = omega;
[vw,vt] = meshgrid(vw,vt);
I = real((U0.*exp(i.*vw.*vt))./(L.*(-vw.^2+ (R/L).*i.*vw + (1/L.*C)))) + exp((-R.*vt)./(2.*L).*(alpha.*cos(sD.*vt)+ beta.*sin(sD.*vt)));
surf(vw,vt,I)
它工作正常。
所以,現在我想創建一個函數,它讀取數值並計算上面的所有東西,並返回surf
圖。
我嘗試:
function [u] = test(L,C,R,tmin,tmax,omega,U0)
D = (1/L*C)-((R^.2)/(4*L^.2));
sD = sqrt(D);
vt = linspace(tmin,tmax,200);
vw = omega;
[vw,vt] = meshgrid(vw,vt);
I = real((U0.*exp(i.*vw.*vt))./(L.*(-vw.^2+ (R/L).*i.*vw + (1/L.*C))))+exp((-R.*vt)./(2.*L).*(alpha.*cos(sD.*vt)+ beta.*sin(sD.*vt)));
surf(vw,vt,I)
end
出現此錯誤的:
Error using alpha
Too many output arguments.
你有一個想法如何使這項功能的工作?