
%% Popolazione di detriti
% Costanti
Mv=10000; % 10000 kg massa nominale velivolo
V_0 = 200*.3048; % velocità al distacco dalla WKT in m/s a 14325 m
N=1000
D=rand(N,1); % vettore debris di 100 numeri casuali tra 0 e 1
somma=sum(D);
m_i=(D/somma)*Mv; %mass casuale dei detriti
ver=sum(m_i); % verifica che la somma dei dei 100 pezzi razionalizzati restituisce il peso del velivolo
vx_i = randn(N,1); % componenti random di velocità nelle tre direzioni
vy_i = randn(N,1);
vz_i= randn(N,1);
DeltaV_iStar= [vx_i,vy_i,vz_i]; % matrix velocity i-esima debris
%% Momentum
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
DeltaV_err = DeltaQ_err/Mv ; % errore da togliere agli incrementi iniziali
DeltaV_c = DeltaV_iStar-DeltaV_err;
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
%% Kinetic Energy
V_element= randn(3,1); % componenti della velocità iniziale
B = V_element/norm(V_element)
v=V_0*B
vlength= norm(v);
prodotto=0;
Ek_d=0;
for k=1:N
prodotto(k,:)=.5*[m_i(k)*(v(k) DeltaV_c(k,:)).^2];
Ek_d=Ek_d prodotto(k,:);
end
Ek_d
無法執行分配,因為左側的大小是 1×1,而右側的大小是 1×3。
Debris_Footprint 中的錯誤(第 59 行)prodotto(k,:)=.5*[m_i(k)*(v(k) DeltaV_c(k,:)).^2];
我嘗試了一個 for 回圈,但我得到的結果是一個向量。問題是動能不是 矢量。在我的代碼中: m 是m_i V0 = v DeltaVc = DeltaV_c。我上傳了整個代碼以便更好地理解。這是一個大學專案。根據我的教授的說法,代碼的第一部分是正確的。我需要動能部分的幫助
uj5u.com熱心網友回復:
你想做什么,什么是 m 和 v0 和 delta vc。
假設 m 是矩陣,v 是速度矩陣。像這樣寫:
sum =0;
for i=1:N
sum = (1/2)* m.*((v vc).*(v vc)) sum;
end
這樣你就可以得到最終的總和值。
uj5u.com熱心網友回復:
物體的總動能是它在每個方向上的動能之和,所以我們只需遍歷 3 個方向并獲得每個方向上的動能,然后對每個粒子求和。
prodotto=0;
Ek_d=0;
for k=1:N
for direction = 1:3
prodotto = .5*m_i(k)*(v(direction) DeltaV_c(k,direction)).^2;
Ek_d=Ek_d prodotto;
end
end
Ek_d
這可以更有效地撰寫,但這種形式最好地解釋了操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/531275.html
標籤:matlab物理活力
下一篇:來自其模數和角度的向量的分量
