如何使用简单的for循环实现它

时间:2013-04-19 02:41:28

标签: matlab for-loop

问题如下: (这是我的第一个Matlab代码) 所以,我有一个速度修复,例如

Mach=0.2

为此,我有在计算中进一步使用的系数,例如

CL0=0.3956+0.0101*Mach+0.0657*Mach^2+0.1438*Mach^3;
CLa=5.7814+0.1402*Mach+0.959*Mach^2+2.008*Mach^3; etc.

这些我后来在计算矩阵A的特征多项式的根时使用。 然后我根据计算以下内容:

delta_SP=real(s(1));
omega_SP=imag(s(1));
omegan_SP=sqrt(delta_SP^2+omega_SP^2);
zeta_SP=-delta_SP/sqrt(delta_SP^2+omega_SP^2);

问题是我想要为多个Mach数字执行此操作,范围

Mach=0.2:0.1:0.8
你可以帮我一个for循环吗?

3 个答案:

答案 0 :(得分:0)

请尝试以下

i = 1;
CL0 = 0;
CLa = 0;
for Mach = 0.2:0.1:0.8
    CL0(i) = 0.3956+0.0101*Mach+0.0657*Mach^2+0.1438*Mach^3;
    CLa(i) = 5.7814+0.1402*Mach+0.959*Mach^2+2.008*Mach^3;
    % and do all other calculations right over here according to your
    % problem
    i = i + 1;
end

希望这会有所帮助。 。

答案 1 :(得分:0)

因此,在您的问题中,您不会将machCL0CLasdelta等相关联......但要生成所有内容CLa dna CL0值你实际上甚至不需要循环:

Mach=0.2:0.1:0.8;
CL0=0.3956+0.0101*Mach+0.0657*Mach.^2+0.1438*Mach.^3;
CLa=5.7814+0.1402*Mach+0.959*Mach.^2+2.008*Mach.^3;

注意我使用.^而不是^,点表示为矩阵的每个元素而不是整个矩阵执行幂运算符。

我无法评论代码的其他行,因为我看不到它们是如何连接的?

答案 2 :(得分:-1)

不应在标题中使用“不知道如何”这个词,它会使人远离你的帖子。