嗨,我需要在matlab中执行矩阵和行向量之间的减法。我正在从事一个大学项目,在这个项目中,我们假设飞机爆炸导致碎片的产生。为了保持动量,爆炸后的动量必须保持不变。由于我产生的碎片和它的速度随机递增,在动量上有一个错误,我试图消除它。我得到的结果接近于零。但是对于物理来说,它必须是零。我想我在矩阵和向量之间的运算中做错了一些步骤。
Mv=10000;
V_0 = 200*.3048;
N=1000
D=rand(N,1);
somma=sum(D);
m_i=(D/somma)*Mv; %mass of debris
ver=sum(m_i);
vx_i = randn(N,1);
vy_i = randn(N,1);
vz_i= randn(N,1);
DeltaV_iStar= [vx_i,vy_i,vz_i]; % i-esima velocity matrix
DeltaQ_err=zeros(1,3);
DeltaQ=zeros(N,3); %inizializzo matrice
for k=1:N
DeltaQ(k,:)=(m_i(k)*DeltaV_iStar(k,:));
DeltaQ_err=DeltaQ_err+DeltaQ(k,:);
end
DeltaQ_err % momentun
DeltaV_err = DeltaQ_err/Mv ; % errore da togliere agli incrementi iniziali
**DeltaV_c(:,3) = DeltaV_iStar(:,3) - DeltaV_err(1);** %i-esima matrix velocity which has been corrected
%% Now i do the same thing but with the correct value of velocity to verify that the momentum is zero
DeltaQ_err2=zeros(1,3);
DeltaQ=zeros(N,3); %inizializzo matrice
for k=1:N
DeltaQ(k,:)=(m_i(k)*DeltaV_c(k,:));
DeltaQ_err2=DeltaQ_err2+DeltaQ(k,:);
end
DeltaQ_err2 % momentum that must be zero发布于 2022-11-06 00:59:01
在矩阵减法中只有condtion,尺寸必须匹配。假设a(n,m)和b(n,m),那么您可以直接用matlab编写,例如: and;您将得到结果。
https://stackoverflow.com/questions/74327340
复制相似问题