返回信息流...
1 help里说可以用以下方式定义未知数
SOLVE('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')
SOLVE('eqn1','eqn2',...,'eqnN','var1','var2',...'varN')
但是假如我有一个方程的向量E和一个未知数的向量V,能不能只用这两个向量名进行函数调用。因为有100多个呢,每一个都打出来的话就疯了...
2 返回结果有两种方式
1 以一个结构体的方式,X = solv(.....)
2 以一个矩阵的方式,[x1 x2 x3] = solve(.....)
对于第一种,有没有一个函数,或者循环能把X转换成矩阵;对于第二种,未知数个数一多就发现解和未知数的顺序对应有误(这个才是主要问题,但是如果结构体好处理的话就不用这个了)
谢
这是一条镜像帖。来源:北邮人论坛 / matlab / #6603同步于 2010/4/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【求助】有关solve的两个问题
im3points
2010/4/6镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
如下三个方程组,解法一就是你说的用solve解;
syms x1 x2 x3
>> f1=inline('x1-2*x2+4*x3=3');
>> f2=inline('2*x1+3*x2+x3=2');
>> f3=inline('5*x2+2*x3=5');
>> A=[1,-2,4;2,3,1;0,5,2];
>> B=[3;2;5];
>> [x1,x2,x3]=solve(f1,f2,f3)
x1 =-19/49
x2 =27/49
x3 =55/49
另一解法是你说的向量解法。假如能把方程组写成你说的系数向量和解向量,那这方程组只能是线性的方程组吧,如下:
x1-2*x2+4*x3=3;
2*x1+3*x2+x3=2;
5*x2+2*x3=5'三个线性方程,
A=[1,-2,4;2,3,1;0,5,2];
B=[3;2;5];
>> inv(A)*B
ans =
-0.3878
0.5510
1.1224
不知这是否解决LZ的问题。
...
首先感谢你的回答
但是系数矩阵是100多阶的方阵(还有一个是560阶的),用inv的时候会提示在当前精度下矩阵奇异了...
LU,QR什么的都是这个问题
我就想能不能用solve了,现在只是关于solve的问题
【 在 MarchFeng 的大作中提到: 】
: 如下三个方程组,解法一就是你说的用solve解;
: syms x1 x2 x3
: >> f1=inline('x1-2*x2+4*x3=3');
: ...................