Matlab数组中的实数找出来%Matlab程序如下,是关于求根的,三重根有实数根,也有复数根,我只要实数根,怎么拣选V?clc;clear% Tb/K Tc/K Pc/MPa Zc ω% 甲烷 乙烷 丙烷 正丁烷 异丁烷 丙烯 苯 甲苯 甲醇 乙

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 20:52:22

Matlab数组中的实数找出来%Matlab程序如下,是关于求根的,三重根有实数根,也有复数根,我只要实数根,怎么拣选V?clc;clear% Tb/K Tc/K Pc/MPa Zc ω% 甲烷 乙烷 丙烷 正丁烷 异丁烷 丙烯 苯 甲苯 甲醇 乙
Matlab数组中的实数找出来
%Matlab程序如下,是关于求根的,三重根有实数根,也有复数根,我只要实数根,怎么拣选V?
clc;clear
% Tb/K Tc/K Pc/MPa Zc ω
% 甲烷 乙烷 丙烷 正丁烷 异丁烷 丙烯 苯 甲苯 甲醇 乙醇 丙酮 Ar O2 N2 H2 CO2 H2O NH3 R12(CCl2F2) R22(CHClF2)
dat=[
111.6300 190.5800 4.6040 0.2280 0.0110
184.5500 305.3300 4.8700 0.2840 0.0990
231.0500 369.8500 4.2490 0.2800 0.1520
272.6500 425.4000 3.7970 0.2740 0.1930
261.3000 408.1000 3.6480 0.2830 0.1760
225.4600 364.8000 4.6100 0.2750 0.1480
353.2400 562.1600 4.8980 0.2710 0.2110
383.7800 591.7900 4.1040 0.2640 0.2640
337.7000 512.6400 8.0920 0.2240 0.5640
351.4400 516.2500 6.3790 0.2400 0.6350
329.3500 508.1000 4.7000 0.2320 0.3090
87.3000 150.8000 4.2350 0.2910 -0.0040
90.1800 154.5800 5.0430 0.2890 0.0190
77.3500 126.1500 3.3940 0.2870 0.0450
20.3900 33.1900 1.2970 0.3050 -0.2200
185.1000 304.1900 7.3810 0.2740 0.2250
373.1500 647.3000 22.0640 0.2300 0.3440
239.8200 405.4500 11.3180 0.2420 0.2550
243.4000 385.0000 4.1240 0.2800 0.1760
232.4000 369.2000 4.9750 0.2670 0.2150 ];
Tc=dat(:,2);Pc=dat(:,3);omega=dat(:,5);
P=6.0; T=25+273.15; R=8.314
Tr=T./Tc;
%-Method1:V^3+alpha*V^2+beta*V+gamma=0
%PR(Peng-Robinson Equation
m=0.37646+1.54226*omega-0.26992*omega.^2;
alpha_c=(1+m.*(1-Tr.^0.5)).^2;
ac=0.457235*(R*Tc).^2./Pc;
a=ac.*alpha_c;
b=0.077796*(R*Tc./Pc);
for i=1:1:20;
c=[-P,(-P*b(i)+R*T),(2*R*T*b(i)-a(i)+3*P*b(i)^2),a(i)*b(i)-R*T*b(i)^2-P*b(i)^3 ];
V=roots(c)
end

Matlab数组中的实数找出来%Matlab程序如下,是关于求根的,三重根有实数根,也有复数根,我只要实数根,怎么拣选V?clc;clear% Tb/K Tc/K Pc/MPa Zc ω% 甲烷 乙烷 丙烷 正丁烷 异丁烷 丙烯 苯 甲苯 甲醇 乙
你得到的根应该是存储在矩阵V中吧,可以从该矩阵中把实数选出来.
for k=1:length(V)
idx(k) = isreal(V(k,1));
end
z=V(idx)
主意isreal函数兵不是对矩阵中的某一分量进行判断,只要该矩阵中有一个复数值即判断为伪.所以我不得不用了循环.

Matlab数组中的实数找出来%Matlab程序如下,是关于求根的,三重根有实数根,也有复数根,我只要实数根,怎么拣选V?clc;clear% Tb/K Tc/K Pc/MPa Zc ω% 甲烷 乙烷 丙烷 正丁烷 异丁烷 丙烯 苯 甲苯 甲醇 乙 Matl 编写一个程序,利用for循环语句,不用数组,输入5个实数,把它们中的最大数和最小数找出来并且求出这5个实数的平均值我须要的是C#代码 matlab求各个数组最大值中的最小值 如何用matlab连接多个点?已知一个数组A,请问如何将这个数组中的数据用线段依次连接起来,并显示出来? 编写一个程序,利用for循环语句,不用数组,输入5个实数,把它们中的最大数和最小数找只能用for 不能用数组 matlab如何实现数组中的每一个元素都减去1 MATLAB中:如何剔除一个数组中的复数(前面元素是实数,后面是复数,复数的数量不定).完全剔除复数,不是通过忽略虚部将复数转化为实数。 用matlab怎样找矩阵中的偶数 matlab中的一维数组,有没有函数能够判断数组中是否含有相同的元素? matlab中的单引号怎么打出来 MATLAB 如何判断某变量等于某数组中的一个元素 matlab中一维数组怎么用plot函数画图 像a=[1,2,3,4] 用plot怎么表达出来? matlab 去掉数组中的某个值.比如:一个数组[2 3 4 5 6 ],删除第三个数,得到[2 3 5 6].程序如何, matlab中符号变量怎么比较大小?计算得到了一个数组:m[100],怎么找出其中的最大项?是符号数组,开头定义了syms m; matlab 编写一个m函数文件,求一数组中的元素,使得该元素的绝对值在该数组所有元素的绝对值中是最大的. 给定一个数组,如何让matlab生成一个这个数组中的一个随机数?比如我让 matlab生成10,20,30中的一个数,也就是抽样,应该怎么实现呢? matlab怎么来统计数组元素个数