1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > matlab复数方程的根 matlab解一元三次方程 得到的都是复数根。

matlab复数方程的根 matlab解一元三次方程 得到的都是复数根。

时间:2019-09-19 20:05:11

相关推荐

matlab复数方程的根 matlab解一元三次方程 得到的都是复数根。

对于你昨天的那个方程,是典型的非线性方程,我修改了程序,用fsolve函数来解,程序在下面。先新建一个m文件,再把以下全部程序直接复制进m文件中,运行即可,不要在主窗口中运行,用m文件来写程序,比直接在主窗口中操作方便,也算是一种好习惯吧。

由计算结果可知,解更符合实际,而且没有出现虚数。

function solution_nonl

clear all;clc

global aa bb tt pp

%-------------根据计算结果,修改迭代初值------------------------------------

xx0=[1];%迭代初值,如果计算结果不符合实际,可修改,一般由pV=nRT给出初始的V,这里我直接取1了

t =[350.1500 348.9500 347.1500 345.4500 342.3500 340.7500 338.9500];

p =[101.3300 101.3300 101.3300 101.3300 101.3300 101.3300 101.3300 101.3300];

a =[0.9098 0.9365 0.9763 1.0223 1.0549 1.0968 1.1340 1.1773];

b =[0.0573 0.0565 0.0551 0.0535 0.0523 0.0507 0.0491 0.0470];

v=[];

for n=1:7

aa=a(n);

bb=b(n);

tt=t(n);

pp=p(n);

x(n)=fsolve(@nonlin,xx0);

end

disp(x)

function f= nonlin(x)

global aa bb tt pp

f=8.314*tt/(x-bb)-aa/(x*(x+bb))-pp;

计算结果:

28.7864 28.6871 28.5380 28.3969 28.1413 28.0084 27.8591

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。