matlab ssolve函数计算出来的数怎么是分数表示的

作者&投稿:逮舒 (若有异议请与网页底部的电邮联系)
MATLAB solve 计算~

s= solve (eq1,eq2,eq3, x,y,z);返回的是一个结构体变量
可以改成[x1 x2 x3]= solve (eq1,eq2,eq3, x,y,z);
x1,x2,x3分别对应x,y,z的值

1、首先打开Matlab,直接在命令行输入solve函数,里面加上方程式,如下图所示,这里是一个二元一次方程。

2、接着直接回车就可以得到结果了,如下图所示。

3、然后solve函数中还可以写两个方程式,如下图所示。

4、回车后会得到两个未知数的解,如下图所示。

5、还可以先声明变量,然后编写方程式,并在solve中填入变量和方程式。

6、最后直接用点的方式得到答案即可,如下图所示。

因为matlab的solve函数默认输出方程的解析解或者精确解,所以输出的结果是分数多项式的形式(小数形式只是逼近这个精确值)。需要用vpa()函数将计算结果转换成小数的形式。注:用vpa()之后,输出的结果是sym格式的,sym类型不能用于比较表达式,可以使用eval()函数将sym转化为数值。

我的也是这样,我看别的提问里人家都是显示小数,我的是一大串分数,贼啦长。你解决了的话告诉我一下吧


三山区19710927940: matlab中solve函数的用法.悬赏20分
星江葡醛: solve Symbolic solution of algebraic equations. solve('eqn1','eqn2',...,'eqnN') solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN') solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN') The eqns are symbolic expressions or strings specifying equations. The ...

三山区19710927940: matlab解出一元二次方程组系数abc -
星江葡醛: 解析:使用“solve函数”举例:>s=solve('x^2-6*x-12=0') MATLAB会返回方程的两个根 s= 3+21^(1/2) 3-21^(1/2)

三山区19710927940: matlab的solve函数使用
星江葡醛: x1=1;x2=2;w=3;f=4; %假设它们的值是这些 g=10; y1=f*g; y2=-f*g; k=solve('-y2=(-8)*x2*w^2*(sin(k)+x1/(16*x2))^2+4*x2*w^2+((x1*w)^2)/(32*x2)','k') k=subs(k) 运行结果: k = asin(1/16/x2*(-x1*w+(x1^2*w^2+32*y2*x2+128*x2^2*w^2)^(1/2))/w) asin(1/16/x2*(-x1*w-(x1^2*w^2+32*y2*x2+128*x2^2*w^2)^(1/2))/w) k = 0.4569 -0.5279

三山区19710927940: matlab用solve求值 -
星江葡醛: syms x y z a=[x-4 y-3 z-5]; b=[4 6 8]; [x y z]=solve(a-b,x,y,z)

三山区19710927940: MATLAB solve 计算 -
星江葡醛: s= solve (eq1,eq2,eq3, x,y,z);返回的是一个结构体变量 可以改成[x1 x2 x3]= solve (eq1,eq2,eq3, x,y,z); x1,x2,x3分别对应x,y,z的值

三山区19710927940: matlab 中solve循环比如: i=1:10 s=solve('x^3+x^2+x=1=i','x') -
星江葡醛: n = 10; i = 1:n; s = cell(1,n); for i = 1:n ep = ['solve(''x^3+x^2+x =' num2str(i) ''')']; s{i} = eval(ep); end; vpa(s{1},4) ans = 0.5437 - 0.7718 + 1.115*i - 0.7718 - 1.115*i vpa(s{2},4) ans =0.8105 - 0.9053 + 1.284*i - 0.9053 - 1.284*i vpa(s{3},4) ans =1.0 - 1.0 + 1.414*i - 1.0 - 1.414*i

三山区19710927940: matlab中solve的用法 -
星江葡醛: 把solve中的引号去掉就好,加引号代表string函数,x,y将以r,s符号表示,所以无法对其赋值 改后调用[ISp,ISn]=paper_IS1(2,3) 结果显示:ISp =[ 4.75, 4.30*i]ISn =[ 4.75, -4.30*i]

三山区19710927940: 关于Matlab中用solve求解三次方程遇到的问题!为什么用下面这个程序得不到正确的解??? -
星江葡醛: 可以得到其数值解.增加vpa(ans)命令就行了.>> syms s>> solve(s*(s+10)*(s+1.4)+7.98);>> vpa(ans)

三山区19710927940: matlab 二元复杂 隐函数的求法 -
星江葡醛: ^将方程移项并取平方:(r-z)^2-(-b+sqrt(R*R-z*z))^2 = (a-x)^2 移项并展开:b^2 + (R^2-z^2) - 2*b*sqrt(R*R-z*z) = (r-z)^2 - (a-x)^2 再移项,取平方:(b^2 + (R^2-z^2) - (r-z)^2 + (a-x)^2)^2 = 4*b^2*(R*R-z*z)由此得到的是一个关于z的...

三山区19710927940: 如何用Matlab求解方程组 -
星江葡醛: 1. 解法1 符号解法,即使用solve函数 解法步骤:第一步:定义变量syms x y z ...;第二步:求解[x,y,z,...]=solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN'); 第三步:求出n位有效数字的数值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n); 2. 解法2采用左除运算解方程组x=A\b

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网