如何保存数据从一个循环作为一个矢量?

2次浏览(过去30天)
Celso初级
Celso初级 2022年4月16日
评论道: 明星黾 2022年4月16日
早上好!我是matlab的新手,我有一个问题。当我做下面代码中描述的循环时(其中我改变了磁场B),只有最后的数据被保存。我想用HT矩阵的特征值的所有数据来构造一个向量,来构造一个磁场作为HT的四个特征值的函数的图。我想用特征值的所有循环的数据构建四个向量来构建一个图。任何能帮助我的人我都将非常感激。遵循下面的程序。
清晰的
clc
d0 = 0.2;%meV δ 0
d1 = 0.18;% #δ1
d2 = 0.05;% #δ2
%#在z和x方向上的电子和空穴有效g因子。
ghx = -0.35;
ghz = -2.2;
gex = -0.65;
gez = -0.8;
α= 0.02;%#meV/T^2抗磁位移系数,
ga = 0.0;
gb = ga;%#与相同极化激子态的相互作用强度。
θ=π/ 3;
wx = 0.01;
wd = wx-d0;
佤邦= wx + 0.5;
世行= wa;
王= wa;
G0a = 0.05;%#是脉冲能量的最大值
G0b = G0a;
tc = 30;%#脉冲中心的时间
tal = 10;%#是高斯均方根宽度
mub = 0.0579;玻尔磁子
B = 0:0.1:10
英国石油(bp) = mub * b * sin(θ)* (gez + ghz) * 0.5;%英国石油公司
bm = mub * b * sin(θ)* (gez-ghz) * 0.5;% bm
= mub * b * cos(θ)* gex * 0.5;%是
bh = mub * b * cos(θ)* ghx * 0.5;%黑洞
H1 = [wx d1/2 0,0; d1/2, 0, 0, 0, 0, wd, d2/2; 0, 0, d2/2, wd);
H2 = [bp +α* b . ^ 2 0,黑洞;0,bp +α* b . ^ 2,黑洞,;是黑洞,bm +α* b . ^ 2 0;黑洞,是0,bm +α* b . ^ 2];
HT = H1 H2 +;
[V,D] = eig(HT);
结束

接受的答案

明星黾
明星黾 2022年4月16日
有不同的方法可以做到这一点。
这种方法简单地将它们连接为a的第三个维度 (4 x4xnumel (B)) 数组,
d0 = 0.2;%meV δ 0
d1 = 0.18;% #δ1
d2 = 0.05;% #δ2
%#在z和x方向上的电子和空穴有效g因子。
ghx = -0.35;
ghz = -2.2;
gex = -0.65;
gez = -0.8;
α= 0.02;%#meV/T^2抗磁位移系数,
ga = 0.0;
gb = ga;%#与相同极化激子态的相互作用强度。
θ=π/ 3;
wx = 0.01;
wd = wx-d0;
佤邦= wx + 0.5;
世行= wa;
王= wa;
G0a = 0.05;%#是脉冲能量的最大值
G0b = G0a;
tc = 30;%#脉冲中心的时间
tal = 10;%#是高斯均方根宽度
mub = 0.0579;玻尔磁子
B = 0:0.1:10;
V = NaN(4,4,numel(B));% Preallocate
D = v;% Preallocate
k = 1:数字(B)
英国石油(bp) = mub * B (k)。*罪(θ)* (gez + ghz) * 0.5;%英国石油公司
bm = mub * B (k)。* sin(θ)* (gez-ghz) * 0.5;% bm
= mub * B (k)。* cos(θ)* gex * 0.5;%是
bh = mub * B (k)。* cos(θ)* ghx * 0.5;%黑洞
H1 = [wx d1/2 0,0; d1/2, 0, 0, 0, 0, wd, d2/2; 0, 0, d2/2, wd);
H2 = [bp +α* B (k)。^ 2,0,,黑洞;0,bp +α* B (k)。^ 2,黑洞,;是黑洞,bm +α* B (k)。^ 2 0;黑洞,是0,bm +α* B (k)。^ 2];
HT = H1 H2 +;
[V(:,:,k),D(:,:,k)] = eig(HT);
结束
另一种选择是将它们存储在单元格数组中。
8的评论
明星黾
明星黾 2022年4月16日
一如既往,我的荣幸!

登录评论。

更多答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!