嗨,我需要在 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
uj5u.com熱心網友回復:
矩陣減法只有條件,維度必須匹配。假設a(n,m)和b(n,m);然后你可以直接在matlab中寫:ab; 你會得到結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/531277.html
標籤:matlab矩阵向量减法
上一篇:來自其模數和角度的向量的分量
