指数超过矩阵维度(matlab)

时间:2014-03-02 05:47:48

标签: matlab

我写了这段代码:

omiga= 7.543703405690999e+20;
semu= -2.045998237293904e+18;
delta_0= 2.000000000000000e-08;
x=0:10-10:10-3;
YY=(delta_0/(4*(1-omiga/semu)^2))*1/CC*exp(-x*(semu-omiga)^0.5)*(CC*exp(x(semu-omiga)^0.5)+1-omiga/semu)^2;
plot(x,YY);

得到了错误

  

指数超出矩阵维度。

     

无标题错误(第5行)       YY =(delta_0 /(4 *(1-OMIGA /色目人)^ 2))* 1 / CC * EXP(-x *(色目人-OMIGA)^ 0.5)*(CC * EXP(X(色目人-OMIGA)^ 0.5)+ 1-OMIGA /色目人)^ 2;

为什么我收到此错误?

2 个答案:

答案 0 :(得分:1)

我不知道你要分配给x的内容,但它是一个空矩阵。然后,您尝试访问semu-omiga矩阵的索引x,该矩阵为空。也许花些时间学习Matlab教程。

答案 1 :(得分:0)

以前的帖子已正确指出了一些语法错误。一个额外的建议......在尝试进行矢量化计算之前,尝试让你的公式仅适用于x的一个值。通常,使用多个乘法项,您将要使用

".*" 

进行逐元素乘法,而不是

"*" 

试图进行矩阵乘法。

e.g。

   YY=(delta_0/(4*(1-omiga/semu)^2)).*1/CC*exp(-x*(semu-omiga)^0.5).*(CC*exp(x*(semu-omiga)^0.5)+1-omiga/semu)^2;