作业帮 > 综合 > 作业

求大神帮我看看matlab我编的程序错在哪里,怎么修改?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 21:56:18
求大神帮我看看matlab我编的程序错在哪里,怎么修改?

要编的是这个方程,nT=88,C0,G0,Ck,Gk都是88*88矩阵,u(s)经傅里叶变换为88*2049矩阵,B为单位阵,s为2049*1的矩阵.求X(s).我编的程序如下,有错误,该怎么修改?求修改后程序./>
f=Freq;%2049*1
s=j*w;%2049*1
w=2*pi*f;%2049*1
c=3e8;
epslonr=8.85e-12*36;
mur=4*pi*1e-7;
n=88;%未知变量个数
nT=88;%指数项个数

C0=diag(diag(L));%自电感88*88
G0=diag(diag(Gt));%自电容88*88
%C1=randn(n);
%G1=randn(n);
% X(s)=[];%未知状态变量矢量
B=eye(88,88);%匹配矩阵,单位阵?
%L=zeros(n,k);
% us=zeros(k,1);%网络端口电压
td1=dis./c*sqrt(epslonr*mur);%延时时间
C=[];%电感
G=[];%电容
g=Gt-G0;%电容
c=L-C0;%电感
sum=0;
us=zeros(88,4097)
us(1,:)=Lig_FFT
for k=1:88%指数项数量
    C=[C;c(1:k,1:k)];
    G=[G;g(1:k,1:k)];
    C((k-1)*n+1:k*n,:)=c(1:k,1:k);
    G((k-1)*n+1:k*n,:)=g(1:k,1:k);
    sum=sum+(s*C+G)*exp(-s*td(1:k,1:k));
end
X(s)=inv(s*C0+G0+sum)*B*us;
% i(s)=L'*X(s);
错误提示如下
Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> lashi at 349
    sum=sum+(s*C+G)*exp(-s*td(1:k,1:k));
,内部矩阵维数不一致该怎么修改?
好长,你的sum=0;
后面的(s*C+G)*exp(-s*td(1:k,1:k));这个应该是个矩阵,是不能加的
你令sum=zeros(i,j) i j根据后面矩阵的大小而定,