Matlab错误使用sinh输出参数太多

运行显示错误使用sinh输入参数太多,以下是我的代码


function Hp=dynp(D0,L0,f)
%管路频响函数
%管径D0
%管长L0
%计算频率f
global den mu prand gam a0
den=1.10;
mu=1.50e-5;
prand=0.708;
gam=1.4;
a0=340;
D0=[50];
L0=[50];
f=[50];
N=length(f);
r0=D0*5e-4;
L0=L0*1e-3;
tic
Z = zeros(0,20000); 
G = zeros(0,20000);  
for kk=1:length(r0)
    [v1,v2]=Mx(r0(kk),L0(kk),f);
    Z{kk}=v1;
    G{kk}=v2;
end
toc
Hp=zeros(N,1);
for k=1:N
    M=eye(2);
    for kk=1:length(r0)
        M=M*[cosh(G{kk}(k)),Z{kk}(k)*sinh(G{kk}(k)); 
            sinh(G{kk},(k))/Z{kk}(k),cosh(G{kk}(k))];
    end
    Hp(k)=1./M(1,1);
end
return

你好同学,你给出的代码第32-33行,sinh函数里面多了一个逗号,现帮你更正如下:

        M=M*[cosh(G{kk}(k)),Z{kk}(k)*sinh(G{kk}(k)); 
            sinh(G{kk}(k))/Z{kk}(k),cosh(G{kk}(k))];

如有帮助还望给个采纳哟