maomaoharry 发表于 2009-4-17 10:23

计算结果赋值给矩阵出错

计算一个球贝塞尔函数的程序。由于x是一矩阵,但程序中需对矩阵中为0的元素单独计算,因此取出矩阵的各个元素分别计算。最后再将计算结果赋值给矩阵f1.但赋值出错。请各位高手指教。

function f1=sbesselj(n,x)
L=size(x)
f1=[];
for i=1:L
   for j=1:L
      xi=x(i,j);
      if xi==0
         if n==0
            f=1;
         else
            f=0;
         end
      else
         f=sqrt(pi/(2*xi))*besselj(n+0.5,x);
      end
       f1(i,j)=f                           %此步出错
   end
end

ChaChing 发表于 2009-4-18 23:51

检查一下f的size是否为1*1?
看看f=sqrt(pi/(2*xi))*besselj(n+0.5,x); 後面的x是否为xi?

还有建议楼主看下本版规则! 求助完整格式:出错代码和出错提示

maomaoharry 发表于 2009-4-20 17:00

回复 沙发 ChaChing 的帖子

非常谢谢您的指教
页: [1]
查看完整版本: 计算结果赋值给矩阵出错