wash_sheep 2020-03-13 23:15 采纳率: 0%
浏览 6391

【求助】matlab索引超出数组元素的数目

才开始学习matlab,有很多不懂,运行代码的时候显示:

*索引超出数组元素的数目(1)。

出错 pm3 (line 30) ss=SeaSoctrm(wa(i),sita);_**

百度了很多还是不知道怎么解决,求大佬们点拨

bita=0.74;
g=9.81;
u=10;
t=1;
x=1;
m=200;
n=200;
lx=200;
ly=lx;
ffai=45.*pi./180;
deltasita=pi/60;
deltax=lx/m;
deltay=ly/n;

n1=50;
n2=fix(2.*pi./deltasita)+1;

wmin=g./u.*(log(2.*n1)./bita)^(-0.25);
wa(1)=wmin;

for i=1:n1
   if i<n1
     deltw(i)=g./u.*((log(n1./(i+0.5))./bita)^(-0.25)-(log(n1./(i-1+0.5))/bita)^(-0.25));
 elseif i>1
     wa(i)=wa(i-1)+deltw(i-1);
 end
    sita=-pi;
for j=1:n2
    ss=SeaSoctrm(wa(i),sita);
    SP(i,j)=sqrt(2.*ss.*deltw(i).*deltasita);        
    sita=sita+deltasita;
end
end


for i=1:m
    y=1;
    for j=1:n
        z=0;
        for h=1:n1
            k(h)=wa(h)^2/g;
               sita=-pi;
               for l=1:n2
                    ipsl=rnunf()*2*pi;
                z1=SP(h,l)*cos(k(h)*x*cos(sita)+k(h)*y*sin(sita)-wa(h)*t+ipsl);
                z=z+z1;
               sita=sita+deltasita;
               end
        end
        y=y+deltay;
        x=x+deltax;
    end
end

然后是自定义的函数

function sp=sptr(ww)
g=9.81;
bita=0.74;
u=10;
arfa=8.1*10^(-3);
p=arfa*g^2./(ww^5);
q=-1*bita*(g/(u*ww))^4;
sp=p*exp(q);
end
function dn=Direc_new(ww,fai)
u=10;
g=9.81;
ffai=45.*pi/180;
w0=0.877.*g./u; 
if ww<=w0 mu=4.06;
else mu=-2.34;
end
if (abs(fai-ffai)<pi/6|(fai-ffai)>5*pi/6&(fai-ffai)<pi|(fai-ffai)>-pi&(fai-ffai)<-5*pi/6) 
          p=9.77.*(ww./w0)^mu;
          b=gamma(2.*p+1);
          d=gamma(p+1);
          normp=2.^(1-2.*p).*pi.*b./d^2;
          dn=(cos((fai-ffai)./2))^(2.*p)./normp;
        else
          dn=0;
 end     
end
function [sspc]=SeaSoctrm(w1,fai)
sspc=sptr(w1).*Direc_new(w1,fai);
end
  • 写回答

1条回答 默认 最新

  • 晴天2021_0804 2022-01-11 16:00
    关注

    一行一行调试,看下工作区矩阵的行列数,这种情况应该就是矩阵运算时候行列出了问题,细致的检查一下就会解决。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器