我写了这段代码:
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;
为什么我收到此错误?
答案 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;