急!!!用matlab怎么解三元一次方程

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:57:49
X=311.8691R+157.8880G+434.9311B,
Y=190.9678R+738.7380G+29.6610B,
Z=547.1369R+181.1447G+0.0241B。
怎样用matlab把上面的方程中的 RGB用XYZ表示出来,用笔算实在是工程量太浩大了,所以想求助于matlab软件。
有谁知道的,或者直接算出来的,谢谢给我个答案,不甚感激,要交毕业论文了~

syms R G B X Y Z
[RR,GG,BB]=solve('X=311.8691*R+157.8880*G+434.9311*B','Y=190.9678*R+738.7380*G+29.6610*B','Z=547.1369*R+181.1447*G+0.0241*B','R','G','B')
得结果:

RR =

-.12525978768947950978444252669004e-2*Z+.23120367563616082809200951632487e-2*X-.18699646255868388887185026828175e-3*Y

GG =

.14885651813879712460946063483735e-2*Y-.10149010896341303266407808799759e-3*X-.46170599881846802857699586809334e-3*Z

BB =

.33499249009373065531596300182755e-4*X-.49282215584111027916543707251833e-3*Y+.19806117669142858214425482801031e-2*Z

结果不好看.数值太多
我取六位有效数字:
RR =
-.125260e-2*Z+.231204e-2*X-.186996e-3*Y

GG =
.148857e-2*Y-.101490e-3*X-.461706e-3*Z

BB =
.334992e-4*X-.492822e-3*Y+.198061e-2*Z

第一个是点的话,就是说0.
e代表10的几次方.比如e-4=10^-4=0.0001

solve函数