allen303allen 发表于 2009-6-2 22:05

如何用matlab求解以下方程组?

方程组为:
x1^2+y1^2+z1^2 = 1
a1x1-Lwx = 0
a1y1-Lwy = 0
a1z1-Lwz = 0

x2^2+y2^2+z2^2 = 1
a2x2-Lwx = 0
a2y2-Lwy = 0
a2z2-Lwz = 0
.
.
.
xn^2+yn^2+zn^2 = 1
anxn-Lwx = 0
anyn-Lwy = 0
anzn-Lwz = 0

其中n是已知的,Lw是一个n×n的矩阵,也是已知的,Lw表示矩阵Lw的第i行,x表示的列向量,y表示的列向量,z也是类似。
现在有4n个方程,x1~xn,y1~yn,z1~zn,a1~an这4n个未知变量。
要求根据给定的n和矩阵Lw,求出这4n个变量的值。

好像用fsolve解,用matlab的可信域子空间方法,可是无从下手,希望各位帮忙!

huaijuliu 发表于 2009-6-3 18:53

help fsolve
但是不晓得会不会提示警告fsolve算出的经常是复数形式 实在不行可以尝试编程高斯迭代法求解

allen303allen 发表于 2009-6-4 18:14

fsolve要求列出方程的形式吧,这个方程的形式和个数都是不定的,要根据输入的值来定。而且还要展开化简,貌似很困难啊。
页: [1]
查看完整版本: 如何用matlab求解以下方程组?