matlab 用solve或者fsolve求解方程组
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/09 16:01:10
matlab 用solve或者fsolve求解方程组
clc
syms x y z;
eq1 =-(31*x*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z);
eq2 =-(y*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z);
eq3=exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625)*((31*x^2)/(10000*z^2) + y^2/(10000*z^2) - 661/625);
[x,y,z]=solve(eq1==0,eq2==0,eq3==0)
Error using ==> char
Conversion to char from logical is not possible.
出现这个问题,怎么回事呢?会不会是方程的系数等级差别太大了,解不了,没有解析解,那要怎么解出数值解呢?
clc
syms x y z;
eq1 =-(31*x*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z);
eq2 =-(y*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z);
eq3=exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625)*((31*x^2)/(10000*z^2) + y^2/(10000*z^2) - 661/625);
[x,y,z]=solve(eq1==0,eq2==0,eq3==0)
Error using ==> char
Conversion to char from logical is not possible.
出现这个问题,怎么回事呢?会不会是方程的系数等级差别太大了,解不了,没有解析解,那要怎么解出数值解呢?
solve的参数必须是符号函数,你的eq1,2,3的确是符号函数,可你加了"==0"就变成了判断是否等于0了,即结果是逻辑值0或1,所以出现
Conversion to char from logical is not possible.(不能将逻辑值转换为字符)的错误提示.
要计算式可以计算的:
clc
eq1 ='-(31*x*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z)=0';
eq2 ='-(y*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z)=0';
eq3='exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625)*((31*x^2)/(10000*z^2) + y^2/(10000*z^2) - 661/625)=0';
[x,y,z]=solve(eq1,eq2,eq3)
不过估计会和你说的那样,求不出解析解.
再问: 那怎样才能求出数值解呢???
再答: 你先对eq1,eq2,eq3进行化简,然后在求值试试。
再问: eq1,eq2,eq3已经是最简的了。。。
Conversion to char from logical is not possible.(不能将逻辑值转换为字符)的错误提示.
要计算式可以计算的:
clc
eq1 ='-(31*x*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z)=0';
eq2 ='-(y*exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625))/(5000*z)=0';
eq3='exp(29301/2500 - (31*x^2)/(10000*z) - y^2/(10000*z) - (661*z)/625)*((31*x^2)/(10000*z^2) + y^2/(10000*z^2) - 661/625)=0';
[x,y,z]=solve(eq1,eq2,eq3)
不过估计会和你说的那样,求不出解析解.
再问: 那怎样才能求出数值解呢???
再答: 你先对eq1,eq2,eq3进行化简,然后在求值试试。
再问: eq1,eq2,eq3已经是最简的了。。。
MATLAB求解非线性方程组用fsolve函数求解
matlab用fsolve求解非线性方程组,无法求解……
关于Matlab求解非线性隐式方程组的求解,利用fsolve,solve,或ezplot等自带函数求解,
有关MATLAB用solve函数求解非线性方程组的问题
求解方程组,用MATLAB或者Mathematica
Matlab中syms构建函数后用fsolve求解
matlab 中fsolve求解非线性方程组可以给定解的区间么
求Matlab高手帮我解答!我用fsolve函数求解非线性方程组,但是方程组中的系数我是通过另一个程序求出的,
求Matlab大神!我用fsolve函数求解六元非线性方程组,但是方程组中的系数是通过其它函数求出,然后通过全
在Matlab 中 使用solve函数求解二元二次方程组
使用matlab中的solve函数求解符号方程组的问题
matlab解方程组solve