tuzhihua的个人博客分享 http://blog.sciencenet.cn/u/tuzhihua

博文

含参量代入的方程Matlab求解常见问题汇总

已有 11843 次阅读 2015-6-11 23:04 |系统分类:科研笔记

1.符号解代入参数转为数值解
利用solve函数求解方程得到符号解,再将解代入subs函数,无须其他参数,例如:
clc,clear
a=1;b=2;
y=solve('a*x^2+b*x+1','x');
y=subs(y);
y=double(y) %符号型转为双精度型
---------------------------------------------------
y =
     -1
     -1
2.执行solve函数出错
提示solve中方程的符号表达式不正确,具体提示为:
Error using solve>processString (line 354)
'......' is not a valid expression or equation.
Error in solve>getEqns (line 284)
eqns = processString(eqns, v, vc);
Error in solve (line 160)
[eqns,vars,options] = getEqns(varargin{:});
......
这有可能是由于符号表达式'......'中含有solve函数已用过的变量名称,如theta,beta。此时换个名称即可
3.非线性方程求解函数
fzero(),fsolve()
此时需要定义函数,函数定义可以新建立函数M文件,也可定义匿名函数,匿名函数定义例如:
f=@(x)sin(x)+cos(x);
在使用函数fzero和fsolve时,需要给定零点或称之为解的大致位置以及非线性求解方法等参数



https://blog.sciencenet.cn/blog-2610160-897304.html


下一篇:comsol使用的常见问题及解决办法(持续更新)
收藏 IP: 124.160.105.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-27 10:45

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部