Matlab 如何用一个简单的for循环实现这一点

Matlab 如何用一个简单的for循环实现这一点,matlab,for-loop,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=im

问题如下: (这是我的第一个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
number进行此操作时,测距

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

不应该在标题中使用“不知道怎么做”这个词,它会使人们远离你的帖子。

请尝试以下方法

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

希望这有助于

所以在你的问题中,你没有把
mach
CL0
CLa
s
delta
等联系起来。。。但要生成所有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;
注意,我使用了
^
而不是
^
,点表示对矩阵的每个元素执行幂运算符,而不是对整个矩阵执行幂运算符


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

@ivona还请记住,在
for
循环中执行计算时,您应该使用
CL0(I)
CLa(I)
。非常感谢您的快速回答。我正在努力,但又失败了。。因为这些系数定义了其他系数,这些系数定义了其他系数,这些系数定义了最终结果。。我应该把coeff(i)放在任何地方吗?它们与马赫数直接或间接地联系在一起……因此有很多改变要做……是否有可能稍后在代码中加入循环?@ivona我认为可以适当地使用嵌套的
for
循环。如果我不完全理解你的问题,我就无法给出准确的答案。。br参数之间的连接: