此文主要讲解对CAMB-Nov2016文件夹下params.ini文件参数调试后功率谱的变化。
标量功率谱和张量功率谱参数化的表达式分别如下:
(谷歌输入CAMB Notes第一篇pdf文件即是所要的note文件)
将对数函数划掉,整理得:
%{
以下为原初标量功率谱,在改动谱指数的第一个跑动的情况,第二个跑动设置为零,此外第一个跑动分别设置为0.01,0.05,0.1,0.5.通过画图对比发现Ps随着跑动增加而递增
%}
clc
clear
syms k P_s
A_s=1;
k_0=0.05;
n_s=0.96;
n(1)=0.01;
n(2)=0;
P_s=A_s*(k/k_0)^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0)^2);
subplot(2,2,1),ezplot(P_s)
legend('n(1)=0.01')
n(1)=0.05;
P_s(1)=A_s*(k/k_0)^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0)^2);
subplot(2,2,2),ezplot(P_s(1))
legend('n(1)=0.05')
n(1)=0.1;
P_s(2)=A_s*(k/k_0)^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0)^2);
subplot(2,2,3),ezplot(P_s(2))
legend('n(1)=0.1')
n(1)=0.5;
P_s(3)=A_s*(k/k_0)^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0)^2);
subplot(2,2,4),ezplot(P_s(3))
legend('n(1)=0.5')
实际上在n(1)很小的时候Ps是可以很大的,比如
>> vpa(subs(P_s(3),0.0001))
ans =
20008.706407377091796069778471219
>> vpa(subs(P_s(3),0.000001))
ans =
7914294433451.3374549168681390491
以下将坐标轴设置为0到0.002,并将ezplot改为plot画图。
%{
以下为原初标量功率谱,在改动谱指数的第一个跑动的情况,第二个跑动设置为零,此外第一个跑动分别设置为0.01,0.05,0.1,0.5.通过画图对比发现Ps随着跑动增加而递增
%}
Clc
figure
A_s=1;
k_0=0.05;
n_s=0.96;
k=0:0.00001:0.002;
n(1)=0;
n(2)=0;
P_s_0=A_s*(k/k_0).^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0).^2);
plot(k,P_s_0,'b')
hold on
n(1)=0.01;
P_s_1=A_s*(k/k_0).^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0).^2);
plot(k,P_s_1,'g')
hold on
n(1)=0.05;
P_s_2=A_s*(k/k_0).^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0).^2);
plot(k,P_s_2,'y')
hold on
n(1)=0.1;
P_s_3=A_s*(k/k_0).^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0).^2);
plot(k,P_s_3,'r')
hold on
n(1)=0.5;
P_s_4=A_s*(k/k_0).^(n_s-1+n(1)/2*log(k/k_0)+n(2)/6*log(k/k_0).^2);
plot(k,P_s_4,'k')
legend('0','0.01','0.05','0.1','0.5')
将坐标范围缩小:
(nrun=0.5的图由于前期值太大,已经溢出窗口)
从图中可以看到即使在前期Ps也是随nrun的增加而递增。
应用到功率谱中,因为功率谱是与原初功率谱正相关,所以也是递增的。
将n(1)=0,0.01,0.05,0.1,0.5的数据导入matlab,并代码画图:
clc
plot(L,sqrt(TT))
hold on
plot(L1,sqrt(TT1))
hold on
plot(L2,sqrt(TT2))
hold on
plot(L3,sqrt(TT3))
hold on
plot(L4,sqrt(TT4))
axis([0,1000,0,100])
legend('TTn(1)=0','TT1n(1)=0.01','TT2n(1)=0.05','TT3n(1)=0.1','TT4n(1)=0.5')
title('scalar spectrum CTT,nrunrun=0')
同样对于EE谱,如下
clc
figure
plot(L,sqrt(EE))
hold on
plot(L1,sqrt(EE1))
hold on
plot(L2,sqrt(EE2))
hold on
plot(L3,sqrt(EE3))
hold on
plot(L4,sqrt(EE4))
axis([0,1000,0,10])
legend('n(1)=0','n(1)=0.01','n(1)=0.05','n(1)=0.1','n(1)=0.5')
title('scalar spectrum CEE,nrunrun=0')
局部放大图如下;
TE谱如下:
clc
figure
plot(L,sqrt(TE))
hold on
plot(L1,sqrt(TE1))
hold on
plot(L2,sqrt(TE2))
hold on
plot(L3,sqrt(TE3))
hold on
plot(L4,sqrt(TE4))
axis([0,1000,0,20])
legend('n(1)=0','n(1)=0.01','n(1)=0.05','n(1)=0.1','n(1)=0.5')
title('scalar spectrum CTE,nrunrun=0')
以上TE谱因为算的都是平方根,所以虚部被自动去掉。同时通过放大可以发现Ps在后面600和900对应的峰是随随着n(1)增加而减小的。
产生以上效果的原因是因为TE谱原本就是有负值的,因此要去掉平方根,得到如下
clc
figure
plot(L,TE)
hold on
plot(L1,TE1)
hold on
plot(L2,TE2)
hold on
plot(L3,TE3)
hold on
plot(L4,TE4)
axis([0,1000,-150,150])
legend('n(1)=0','n(1)=0.01','n(1)=0.05','n(1)=0.1','n(1)=0.5')
title('scalar spectrum CTE,nrunrun=0')
将470左右的谷放大如下
因此结论为:无论波峰波谷,对于的谱的绝对值都是随n(1)增加而增加的。