我的程序如下,可是总是出现问题,我的matlab实在不怎么滴,能帮我解决一下么
height=35e-3;width=350e-3;h=7e-3;Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;max_x=width/h;ma...
height=35e-3;width=350e-3;h=7e-3;
Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;
max_x=width/h;max_y=height/h;max=max_x*max_y;
ka=1+i*log(0.44705*h)*f*u*r*(h^2);kb=i*f*u*r*(h^2)/2;
for t=1:max
x(t)=(t-max_x*floor((t-1)/max_x))*h-h/2;
y(t)=(1+floor((t-1)/max_x))*h-h/2;
end
for m=1:max
for n=1:max
if(m==n)
k(m,n)=ka;
else
k(m,n)=kb*log((x(m)-x(n))^2+(y(m)-y(n))^2);
end
end
end
for t=1:max
k(max+1,t)=1;
k(t,max+1)=1;
end
k(max+1,max+1)=0;
for t=1:max
CU(t)=0;
end
CU(max+1)=Im/h/h;
P=k/CU'
s=0;
for t=1:max
s=s+(abs(Q(t))^2)*h*h/r;
end 展开
Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;
max_x=width/h;max_y=height/h;max=max_x*max_y;
ka=1+i*log(0.44705*h)*f*u*r*(h^2);kb=i*f*u*r*(h^2)/2;
for t=1:max
x(t)=(t-max_x*floor((t-1)/max_x))*h-h/2;
y(t)=(1+floor((t-1)/max_x))*h-h/2;
end
for m=1:max
for n=1:max
if(m==n)
k(m,n)=ka;
else
k(m,n)=kb*log((x(m)-x(n))^2+(y(m)-y(n))^2);
end
end
end
for t=1:max
k(max+1,t)=1;
k(t,max+1)=1;
end
k(max+1,max+1)=0;
for t=1:max
CU(t)=0;
end
CU(max+1)=Im/h/h;
P=k/CU'
s=0;
for t=1:max
s=s+(abs(Q(t))^2)*h*h/r;
end 展开
2个回答
展开全部
根据你的程序大致推测修改如下:
function baidu_0901
height=35e-3;width=350e-3;h=7e-3;
Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;
max_x=width/h;max_y=height/h;
max_xy = max_x*max_y;
ka=1+1i*log(0.44705*h)*f*u*r*(h^2);
kb=1i*f*u*r*(h^2)/2;
for t=1:max_xy
x(t)=(t-max_x*floor((t-1)/max_x))*h-h/2;
y(t)=(1+floor((t-1)/max_x))*h-h/2;
end
temp = int32(max_xy+1);
k = ones(temp);
for m=1:max_xy
for n=1:max_xy
if(m==n)
k(m,n)=ka;
else
k(m,n)=kb*log((x(m)-x(n))^2+(y(m)-y(n))^2);
end
end
end
k(temp,temp)=0;
CU =zeros(temp, 1);
CU(temp)=Im/h/h;
P=k/CU'
s=0;
for t=1:max_xy
s=s+(abs(Q(t))^2)*h*h/r; %你的Q函数没有
end
end
function baidu_0901
height=35e-3;width=350e-3;h=7e-3;
Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;
max_x=width/h;max_y=height/h;
max_xy = max_x*max_y;
ka=1+1i*log(0.44705*h)*f*u*r*(h^2);
kb=1i*f*u*r*(h^2)/2;
for t=1:max_xy
x(t)=(t-max_x*floor((t-1)/max_x))*h-h/2;
y(t)=(1+floor((t-1)/max_x))*h-h/2;
end
temp = int32(max_xy+1);
k = ones(temp);
for m=1:max_xy
for n=1:max_xy
if(m==n)
k(m,n)=ka;
else
k(m,n)=kb*log((x(m)-x(n))^2+(y(m)-y(n))^2);
end
end
end
k(temp,temp)=0;
CU =zeros(temp, 1);
CU(temp)=Im/h/h;
P=k/CU'
s=0;
for t=1:max_xy
s=s+(abs(Q(t))^2)*h*h/r; %你的Q函数没有
end
end
追问
第二个K=A是指i=j的时候,这个是我的公式,麻烦您了,帮我在看看,那个程序我输入了,好像还是有点儿不太对。。。
2011-09-01
展开全部
你这程序比较难以理解,有的变量没有定义,有的变量被反复替代,程序后面出现1/0和0/0的情况。要解决问题,不如把要解决的实际问题贴出来,个人认为你的模型、算法有问题。
追问
这是我的公式
追答
clc
clear
height=35e-3;width=350e-3;h=7e-3;
Im=1;u=4*pi*1e-7;r=5.8*10e+7;f=5e+5;
max_x=width/h;max_y=height/h;
max_xy = max_x*max_y;
ka=1+1i*log(0.44705*h)*f*u*r*(h^2);
kb=1i*f*u*r*(h^2)/2;
for t=1:max_xy
x(t)=(t-max_x*floor((t-1)/max_x))*h-h/2;
y(t)=(1+floor((t-1)/max_x))*h-h/2;
end
temp = int32(max_xy+1);
k = ones(size(temp));
for m=1:max_xy
for n=1:max_xy
if(m==n)
k(m,n)=ka;
else
k(m,n)=kb*log((x(m)-x(n))^2+(y(m)-y(n))^2);
end
end
end
k(temp,temp)=0;
CU =zeros(size(temp));
CU(size(temp))=Im/h/h;
P=k/CU';
s=0;
for t=1:max_xy
s=s+(abs(P(t))^2)*h*h/r;
end
end
把前面的程序调试了一下,现在通了,不知道结果是不是你想要的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询