Matlab 以矩阵形式找到与每个输入单独相关的方程的答案

Matlab 以矩阵形式找到与每个输入单独相关的方程的答案,matlab,Matlab,我试图在MATLAB中重新创建以下方程式 该方程计算等效惯性 我有Ln,Ln-1的值,其中存储在矩阵中,我假设Ltotal只是Ln的最大值。Den是一个存储方程式值的矩阵 % Ln for lp = 1: bars-1 ln_p(1,lp) = radius_pin(1) - radius_pin(lp+1); ln_w(1,lp) = radius_wheel(1) - radius_wheel(lp+1); end % Ln-1 for lp = 1:bars-1 l

我试图在MATLAB中重新创建以下方程式

该方程计算等效惯性

我有Ln,Ln-1的值,其中存储在矩阵中,我假设Ltotal只是Ln的最大值。Den是一个存储方程式值的矩阵

% Ln
for lp = 1: bars-1
   ln_p(1,lp) = radius_pin(1) - radius_pin(lp+1);
   ln_w(1,lp) = radius_wheel(1) - radius_wheel(lp+1);
end

% Ln-1
for lp = 1:bars-1
   lnMinus_p(1,lp) = radius_pin(1) - radius_pin(lp);
   lnMinus_w(1,lp) = radius_wheel(1) - radius_wheel(lp);
 end 

% L^3 - (Ln-1)^3
lCubed_p = ln_p.^3 - lnMinus_p.^3;
lCubed_w = ln_w.^3 - lnMinus_w.^3;

% In
  In_p = aChor_p.^3/12;
  In_w = aChor_w.^3/12;

% Denominator of IE equation (inertia)
den_p = lCubed_p./In_p;
den_w = lCubed_w./In_w;

我需要一个能找到Ieq值的代码(它们应该在一个与输入大小相同的矩阵中)

如果你有一个数组
L
,它包含所有
L\n
值,同样地,对于一个向量
I
也有值
I\n
,那么你的方程可以简单地实现:

I_eq = L_total^3 / sum( diff(L.^3)./I(2:end) )
我还将重新编写您的代码,因为您似乎忽略了MATLAB语法的要点——它可能非常接近数学符号。我将省去下标(因为针和轮子的计算都是一样的):

差异(L.^3)有什么作用?
lCubed = (radius(1)-radius(2:end)).^3 - (radius(1)-radius(1:end-1)).^3;
In     = 1/12 * aChor_p.^3; 
den    = sum(lCubed./In);