matlab中solve的用法我的函数如下function s=sss(p)syms x y;equation1=sym('c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e=0');equation2=sym('d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f=0');[x0,y0]=solve(equation1,equation2,'x','y');a=p(1);b=p(2);c=p(3);d=p(4);e=p(5)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 14:22:31
matlab中solve的用法我的函数如下function s=sss(p)syms x y;equation1=sym('c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e=0');equation2=sym('d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f=0');[x0,y0]=solve(equation1,equation2,'x','y');a=p(1);b=p(2);c=p(3);d=p(4);e=p(5)

matlab中solve的用法我的函数如下function s=sss(p)syms x y;equation1=sym('c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e=0');equation2=sym('d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f=0');[x0,y0]=solve(equation1,equation2,'x','y');a=p(1);b=p(2);c=p(3);d=p(4);e=p(5)
matlab中solve的用法
我的函数如下
function s=sss(p)
syms x y;
equation1=sym('c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e=0');
equation2=sym('d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f=0');
[x0,y0]=solve(equation1,equation2,'x','y');
a=p(1);
b=p(2);
c=p(3);
d=p(4);
e=p(5);
f=p(6);
g=p(7);
x0=eval(x0);
y0=eval(y0);
s=[x0 y0];
取一个特殊的p=[0 0 0.1 0.2 0 0 3]
这时应该有一个[0 0]的解,可是matlab算出来的里面没有
只有
q =
-0.0000 -8.0000
-8.0000 0 - 0.0000i
-8.0000 0 + 0.0000i

matlab中solve的用法我的函数如下function s=sss(p)syms x y;equation1=sym('c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e=0');equation2=sym('d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f=0');[x0,y0]=solve(equation1,equation2,'x','y');a=p(1);b=p(2);c=p(3);d=p(4);e=p(5)
matlab的运行结果是:
0 -8.0000
-8.5000 - 0.8660i -0.0000 + 0.0000i
-8.5000 + 0.8660i -0.0000 - 0.0000i
上面的结果自身就是不正确的,我分析的原因是:matlab先求出了解析解,接着代入系数值,由于matlab运算精度低,系数又太多,公式极其复杂,从而导致结果失真过于严重
mathematica运行结果显示:mathematica先求出解析解,接着精确代入系数值计算,也出现了数量级为-16的误差,有部分失真,但是这个失真很容易发现,而得到修正
mathematica执行消去y的运算结果显示原方程组只能由三组解
借助mathematica的结果分析,可以得出:matlab的运行结果中,并没有丢失一组解,而是解的失真太为严重达到了0.1,
可以用下面的程序执行数值
function s=sss(p)
syms x y
a=p(1);
b=p(2);
c=p(3);
d=p(4);
e=p(5);
f=p(6);
g=p(7);
a1=simplify(c*x^2+c*x*y+(c*g-c*a-c*b+1)*x-a-e);
a2=simplify(d*y^2+d*x*y+(d*g-d*a-d*b+1)*y-b-f);
[x0,y0]=solve(a1,a2);
s=[x0 y0]
这个程序运行速度快且结果准确,
结果为
[ 0,0]
[ 0,-8]
[ -13,0]
注:可以看到新的程序输出结果是矩阵形式,而老程序的输出不是,问题很可能和eval的使用有关.

matlab中solve函数不能用的原因 matlab中simple函数的用法 matlab中surf函数的详细用法 Matlab中fi函数的用法, 求matlab中minmax函数的用法 MATLAB中poly函数的用法 MATLAB中dot()函数的用法 MATLAB 中bitcmp函数的用法 matlab中solve函数solve函数最多可以解多少维的方程组,上千维的可以吗, matlab新手求解3:solve函数.我输入solve('x^3+5*x-8'),结果求得三个解:.我只想使用第一个解,如何将其从solve()中提取出来.输入[a b c ]=solve('x^3+5*x-8')时matlab报错,查了资料才知道solve函数的返回值 为什么我的matlab中solve函数不能用呢?help中可以查到,但是提示说matlab不支持这种结构 matlab中solve函数咋这么怪异如图,我输了好几遍各种形式,都不行.请指教. matlab中solve函数的相关用法solve函数可以求解带有积分的高次多项式么?比如说a=9;b=8;c=2;syms x y;k=solve('vpa(int(b/(y-x)^2+a/(y-x)^2+b,c,a))+9=0','y');k=subs(k)我试了后说是 is not a valid expression or equation.应 matlab solve用法想知道matlab中solve 和 subs的基本用法,现在有几个方程,想通过这些方程导出y关于x的表达式,可以做到么 一个MATLAB中求解方程solve函数,一直错误,我用MATLAB中solve函数求解时,如下式:[h]=solve('(h.*(sqrt(z2.^2+(r11-h).^2)))./((r11-h).*(sqrt(z1.^2+h.^2)))=c1/c2');其中,z1,r11,c1,c2都是已知的,为啥运行说是一个无效的 Matlab如何写一个函数其中用到solve函数如题,我想写一个函数,这个函数输入一组坐标,输出也是一组坐标,输出坐标是用solve函数来求解的,想问下这个怎么写啊?我用到网上找的matlab的函数写法来 MATLAB中strel函数的作用以及用法参数是什么? 如何用MATLAB解复杂一元函数很复杂的函数 用solve解不出来 太长了帖不上来