作业帮 > 综合 > 作业

matlab中求解带参数非线性方程

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 14:05:02
matlab中求解带参数非线性方程
例如x+y^2=a,x-y=b.希望输入a,b的值,返回相应结果.
例如:输入a=2,b=1,返回x=1,y=1
用solve老是返回的是x、y关于a、b的表达式,能直接返回数值计算结果吗

例如上面这个简单一点的线性方程组,希望输出是5和-5,但是solve表达式不能改,因为a具体是多少需要我其他部分进行程序判断的
返回了x、y的表达式之后写:
x=subs(x,[a,b],[a_,b_]);
y=subs(y,[a,b],[a_,b_]);
(a_,b_是你要代进去的数值,输到MATLAB里的时候要替换掉或者在之前赋值)
再问: 如果a是一个变量呢,并非一个常数。上面有其他程序算出a,然后把上面算出的a代入这个里面怎么写
再答: 干脆倒过来吧。。。
你在solve里面写a_和b_,之后再写:
x=subs(x,[a_,b_],[a,b]);
y=subs(y,[a_,b_],[a,b]);
(a、b是你要代进去的值)
再问: 这个结果。。。哎

再答: 我错了。。。。
你在写solve之前先写一句
syms a_ b_
然后你再写:
[x,y]=solve('x-y=a_'……之类的),注意引号里的a和b都改成a_和b_

然后
x=subs(x,[a_,b_],[a,b]);
y=subs(y,[a_,b_],[a,b]);