| 查看: 232 | 回复: 0 | ||
lyjade2014金虫 (小有名气)
|
[求助]
matlab菜鸟一枚,请走过路过的进来指导一下,跪谢!!!
|
|
公式为: 1=x•(1+10^(9.27-pH)+[Ni]•10^2.8+[Mn]•10^1.0)+x^2•(2•[Ni]•10^4.04+2•[Mn]•10^1.54) +x^3•(3•[Ni]•10^5.77+3•[Mn]•10^1.7)+x^4•(4•[Ni]•10^6.96+4•[Mn]•10^1.3) +x^5•(5•[Ni]•10^2.71)+x^6•(6•[Ni]•10^2.74) 其中[Ni][Co][Mn]是上一步计算出来的,可以看做是已知的,而pH是个变量,我希望给出一个pH就能得到一个x(是正实数解)。以下是我编写的程序,能不能帮我看看我写的对不对呢?跪谢!!求回复!! %计算出x a1=1+10^(9.27-pH)+[Ni]*10^2.8+[Mn]*10; a2=2*[Ni]*10^4.04+2*[Mn]*10^1.54; a3=3*[Ni]*10^5.77+3*[Mn]*10^1.70; a4=4*[Ni]*10^6.96+4*[Mn]*10^1.30; a5=5*[Ni]*10^2.71; a6=6*[Ni]*10^2.74; p1=[a6 a5 a4 a3 a2 a1 -1]; x=roots(p1); % f=sym('x*a1+x^2*a2+x^3*a3+x^4*a4+x^5*a5+x^6*a6-1'); % solve('f','x'); for k=1:length(x) if x(k)>0&&isreal(x(k)) index=k; else index=[]; end end if ~isempty(index) x=x(index); end |
» 猜你喜欢
遇见不省心的家人很难过
已经有10人回复
博士延得我,科研能力直往上蹿
已经有3人回复
退学或坚持读
已经有24人回复
免疫学博士有名额,速联系
已经有14人回复
面上基金申报没有其他的参与者成吗
已经有4人回复
多组分精馏求助
已经有6人回复













回复此楼