关于matlab解决一元多次方程的问题。

我在matlab中用solve解决有如solve(x^2+3*x=7)能很快得到答案。但是当我要求解的式子是在一个算法中,并且是一个迭代算法,设式子中的常量a,b会随着每... 我在matlab中用solve解决有如solve(x^2+3*x=7)能很快得到答案。但是当我要求解的式子是在一个算法中,并且是一个迭代算法,设式子中的常量a,b会随着每次循环改变,比如a=2,b=3,那么solve(x^a+3*x=7)就不能很好的解出我想要的x。请问碰到这种问题应该怎么解决呢?谢谢。 展开
 我来答
tianxiawulang
推荐于2016-09-23 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2647万
展开全部
1、题主【solve(x^2+3*x=7)】这样的写法居然能求出答案?姑且不说全角括号的错误,方程中允许出现等号?

2、如果是把方程写在字符串中,solve('x^2+3*x=7'),那么,用solve('x^a+b*x=7')肯定是不行的。那样a和b都是作为不确定的常数,极有可能不满足代数方程有解的条件。

3、就变参数问题而言,大多数情况下可以用匿名函数或嵌套函数。
追问
恩,我忘了在括号里加引号了。这个问题我也找到了解决的办法。先用f=solve('x^a+b*x=7','x')解出x关于a b的表达式,在用
g=subs(f,'a',2)
h=subs(g,'b',3)这两条解出x的数值。
不过着各种方法对比较复杂的方程也不好用,所以还是用嵌套函数写迭代法好一些。还是感谢你的帮忙。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式