why MATLAB is busy for this code?
1 次查看(过去 30 天)
显示 更早的评论
1.What is the result?
creation=circshift(diag(sqrt(0:1:14)),-1);
annihilation=creation';
syms n
alpha = sym(0.03);
ketalpha1 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
syms n
alpha = sym(0.06);
ketalpha2 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
syms n
alpha = sym(0.09);
ketalpha3 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
syms n
alpha = sym(0.12);
ketalpha4 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
syms n
alpha = sym(0.15);
ketalpha5 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
syms n
alpha = sym(0.18);
ketalpha6 = symsum(exp(-abs(alpha)^2 * alpha^n / sqrt(factorial(n)) ), n, 0, 14);
V1=annihilation*ketalpha1-0.03*ketalpha1;
V2=annihilation*ketalpha2-0.06*ketalpha2;
V3=annihilation*ketalpha3-0.09*ketalpha3;
V4=annihilation*ketalpha4-0.12*ketalpha4;
V5=annihilation*ketalpha5-0.15*ketalpha5;
V6=annihilation*ketalpha5-0.18*ketalpha5;
Vnorm1=V1'*V1;
Vnorm2=V2'*V2;
Vnorm3=V3'*V3;
Vnorm4=V4'*V4;
Vnorm5=V5'*V5;
Vnorm6=V6'*V6;
alpha=[0.03;0.06;0.09;0.12;0.15;0.18];
Vnorm=[Vnorm1;Vnorm2;Vnorm3;Vnorm4;Vnorm5;Vnorm6];
size(alpha)
size(Vnorm)
plot(alpha,Vnorm)
xlabel('alpha','FontSize',12,'FontWeight','bold')
ylabel('Vnorm','FontSize',12,'FontWeight','bold')
2 个评论
Torsten
2023-1-15
As you can see, alpha has dimension 6x1 and Vnorm has dimension 90x15.
How to plot Vnorm against alpha ?
采纳的回答
Walter Roberson
2023-1-15
My tests show it executing quickly but failing the plot.
annihilation is 15x15 so your Vnorm variables are 15x15. You [] 6 of those together to get 90 x 15 but expect to be able to plot that against 6 alpha values.
annihilation is created by a diag() so it is not going to be a vector.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!