为什么我一直获得复杂的矩阵如果我只有真正的价值?

3视图(30天)
所以,在这段代码中我获得4多项式的根。这个计算迭代次数在嵌套”“循环。我想只有在保存在数组的两个根 Vbaja (i, j) Valta (i, j) 。他们是suposed 10 x10数组包含实际价值,因为每次计算多项式的根我获得唯一的值。
然而,由于某些原因我可以´t明白,当我在命令窗口,显示Vbaja和Valta我获得10 x10 复杂的 矩阵数组(即使根是真实的)。
复杂的部分值在这个数组总是零(例如1.0473 + 0.0000我),我甚至不认为它存在。这是一个问题,因为我想把结果但我可以´t如果我有复杂的值。
这是我的代码:
gamma_min = 0.055;n = 10;
γ= linspace (gamma_min、0.2 n)% (rad)
i = 1: n
h(我)= linspace (3048 n)
j = 1: n
data =韦尔(h (i, j)、γ(我))
Valta (i, j) =数据(1)%这里他们不真实了
Vbaja (i, j) =数据(2)%这里他们不真实了
结束
结束
图(1)
冲浪(Valtaγ*(180 /π),h,“线型”,“没有”);网格;持有;%无法情节
我检查了函数或者计算(根),但我也有真实的结果。只有当我将它们存储在Valta (I, j)和Vbaja (I, j)时显示值一样复杂。我不知道为什么´。
函数速度=韦尔(z,γ)
%的输入
K = 0.05;Cd_0 = 0.015; Cl_max = 2.8; W = 324720.18;S = 88.2579;
(ρ)= fluidz (z, 0)
函数z_ft fluid_prop = fluidz (z)
R = 287.05;% Nm / KgK
= 288.15;% K
阿宝= 1.01325 e5;% N / m ^ 2
如果z = = 0
w = [];
w = z_ft / 3.28084;
z = w;
流(' z = % d [m] \ n ',w);
结束
%施压,N / m ^ 2
P =阿宝* (1 - ((2.25 e-5) * z))。^ 5.2526;
流(“P = % d [N / m ^ 2] \ N”,P);
%温度、K
如果(110000 < z) & & (z < = 20000)
T = 216.65;
流(' T = % d [K] \ n 'T);
其他的
T = - 0.0065 * z;
流(' T = % d [K] \ n 'T);
结束
^ %密度,公斤/米3
ρ= P / (R (T);
流('ρ= % d(公斤/ m ^ 3) \ n”,ρ);
fluid_prop =(ρ);
结束
Vstall =√2 * W / Cl_max *ρ。*)
%滑翔速度多项式
ρ= (0.5 *。* S * Cd_0) / W;
b = 0;
c =γ
d = 0;
e = (2 * K * W) /(ρ* S);
v =排序(根([a b c d e]))%这里根是真实的
Valta = v(最终,:)% 4根。
Vbaja = v (3:)% 3根。
速度= [Valta、Vbaja Vstall];
结束
欢迎任何建议。
9日评论

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年4月17日
当你使用根()或4阶多项式解决(),计算固有的条款涉及的一些假想的组件。理想情况下,这些虚构的组件抵消的根源应该是完全真实的,但在实践中由于舍入误差,他们可能不会消掉了。
你应该看看图像放大(v),看看小假想的组件。
1评论
加芙弗洛雷斯米兰达
加芙弗洛雷斯米兰达 2021年4月17日
编辑:加芙弗洛雷斯米兰达 2021年4月18日
谢谢你!我只是试一试,虚部等于0。
编辑:我又检查了一遍的值,这一次我所有的矩阵和你是对的,有一对值,有非常小的虚构的成分,这些都是问题。谢谢你的评论!

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!