| 查看: 1230 | 回复: 2 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
huawdong金虫 (正式写手)
|
[求助]
matlab用fsolve解三元非线性方程出现问题已有1人参与
|
|||
|
首先定义了三个syms 变量 syms pH; syms S_CO3H0; syms S_CaOH0; 通过一系列方程运算 最后得到netcharge,netCa,netCO3 三个变量,而这三个变量 包含符号变量syms pH; syms S_CO3H0; syms S_CaOH0; 利用inline函数 把符号变量转化成函数 如下: ionnumber=inline(netcharge)%将静电荷的字符运算转化为函数 ioncalcium=inline(netCa)%将固体表面表面净钙数的字符运算转化为函数 ioncarbonate=inline(netCO3)%将固体表面表面净碳酸根数的字符运算转化为函数 运行显示 Inline function: ionnumber(S_CO3H0,S_CaOH0,pH) = 2.*10.^(-212./25-log(10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH))./log(10))+10.^(-63./5+pH+log(10.^(-212./25-log(10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH))./log(10)))./log(10))+10.^(-16523792166633873./1407374883553280+pH+log(10.^(-212./25-log(10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH))./log(10)))./log(10))+10.^(-pH)-10.^(-6328041889942893./562949953421312+pH)-10.^(-14+pH)-2.*10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH)-7309029776373667./4611686018427387904.*S_CO3H0.*10.^(-212./25-log(10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH))./log(10))./(10.^(-pH))-3245861258160355./2048.*S_CaOH0.*10.^(-pH)+3715691980681023./295147905179352825856.*S_CO3H0./(10.^(-pH))+2096085705667255581572830407036923613418137./64903710731685345356631204115251200000000000000000.*S_CaOH0./(10.^(-pH)) Inline function: ioncalcium(S_CaOH0,pH) = 63904114710604247279./4611686018427387904.*S_CaOH0+3245861258160355./2048.*S_CaOH0.*10.^(-pH)+2096085705667255581572830407036923613418137./64903710731685345356631204115251200000000000000000.*S_CaOH0./(10.^(-pH))-4786177578236657./576460752303423488 Inline function: ioncarbonate(S_CO3H0,pH) = S_CO3H0+3715691980681023./295147905179352825856.*S_CO3H0./(10.^(-pH))+7309029776373667./4611686018427387904.*S_CO3H0.*10.^(-212./25-log(10.^(-1033./100+log(10.^(-6328041889942893./562949953421312+pH))./log(10)+pH))./log(10))./(10.^(-pH))-4786177578236657./576460752303423488 用fsolve 解上面那三个方程等于0的解 如下 fsolve('ionnumber,ioncalcium,ioncarbonate',[8.3,0.002,0.002]) 运行结果: ??? Error using ==> fsolve FSOLVE only accepts inputs of data type double. Error in ==> carbonate at 48 fsolve('ionnumber','ioncalcium','ioncarbonate',[8.3,0.002,0.002]) 求高手解答 |
» 猜你喜欢
求取一些关于纳米材料和纳米技术相关的英文PPT。
已经有0人回复
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有230人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有22人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
26申博推荐:南京航空航天大学国际前沿科学研究院光学方向招收博士生!
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求解决matlab解非线性方程组出现的问题
已经有6人回复
求助matlab高手指点:大型非线性方程组(牛顿拉佛森法)
已经有7人回复
Matlab用fsolve求解非线性方程,卡了三四天了跪求帮助!
已经有35人回复
MATLAB解非线性方程组
已经有9人回复
matlab解方程组求助攻
已经有4人回复
求助解复杂非线性方程组的好的方法
已经有24人回复
求助matlab求解三元超越方程
已经有4人回复
用matlab求解一个非线性方程组的解
已经有4人回复
请教一个matlab求解非线性方程组的问题
已经有9人回复
matlab fsolve得出的解全部为复数解
已经有15人回复
用matlab求解非线性方程组说无解,一定是方程组本身无解,还是有可能程序有问题呢?
已经有11人回复
求教matlab线性优化求最小值的问题
已经有7人回复
MATLAB求解非线性方程组
已经有5人回复
求Matlab解非线性方程代码
已经有12人回复
matlab 求解非线性方程 解出虚数解
已经有7人回复
求助matlab 非线性方程组全部解!
已经有6人回复
使用fsolve求解非线性方程问题
已经有9人回复
matlab求解非线性方程组,错误提示怎么解决
已经有5人回复
求助matlab---fsolve解非线性方程组
已经有6人回复
如何使用matlab求解非线性方程组的所有整数解?
已经有9人回复
求高人指点用matlab求解非线性方程组,解决了追加100金币;
已经有11人回复
【求助】matlab求解非线性方程组,并画图处理。要求y,z是实数解!
已经有18人回复
【求助】matlab中fsolve解的精度控制【已解决】
已经有4人回复
【求助】求教matlab解非线性方程组
已经有9人回复

月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68120.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

3楼2015-01-05 18:44:27
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68120.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
huawdong: 金币+20, 非常感谢,在程序体中还有些变量可引起三个方程的形式发生变化,我想问下在这种情况下怎么办呢 2015-01-05 17:22:22
感谢参与,应助指数 +1
huawdong: 金币+20, 非常感谢,在程序体中还有些变量可引起三个方程的形式发生变化,我想问下在这种情况下怎么办呢 2015-01-05 17:22:22
|
以下代码完整复制进一个m文件,运行即可: 计算结果: x = 7.523258389170919 0.000000174719325 0.000082481725874 三个方程的残差fval = 1.0e-015 * 0.116631222290336 0.001734723475977 -0.180411241501588 |

2楼2015-01-05 17:09:03













回复此楼