为什么我一直获得复杂的矩阵如果我只有真正的价值?
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月18日
错误我想是更老的版本,和应该是固定的。然而这将是有趣的尝试,不管怎样,看看它修复任何差异。
另请参阅
//www.tianjin-qmedu.com/matlabcentral/answers/396296-what-if-anything-can-be-done-to-optimize-performance-for-modern-amd-cpu-s answer_401963
(注意:这更涉及放缓,由Mathworks固定在后面的版本)。