我正在尝试在MATLAB中重新创建以下等式
http://oi58.tinypic.com/2ypittg.jpg
此公式计算等效惯量。
我有Ln,Ln-1和In的值存储在矩阵中,我假设Ltotal只是Ln的Max值。 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值的代码(它们应该在与输入相同的矩阵中)
答案 0 :(得分:0)
如果您有一个包含所有L
值的数组L_n
,以及值I
的向量I_n
类似,那么您的等式可以简单地实现:< / p>
I_eq = L_total^3 / sum( diff(L.^3)./I(2:end) )
我也会重新编写你的代码,因为你似乎忽略了关于MATLAB语法的观点 - 它可能非常接近数学符号。我将省略下标(因为无论如何它对引脚和滚轮的计算都是相同的):
lCubed = (radius(1)-radius(2:end)).^3 - (radius(1)-radius(1:end-1)).^3;
In = 1/12 * aChor_p.^3;
den = sum(lCubed./In);