nancy2008521 发表于 2008-7-9 10:37

求解方程组问题

我想求如下方程组的解:
| 3      0                                          |   | V2    |      |P1|
| 1/4   7/12    1/6                              |   | V3    |      |P2|
|         1/6      2/3    1/6                     |   | V4    |      |P3|
|                  …………                     |   |……|=|……|
|                  1/6    2/3    1/6            |   | Vn-1 |      |Pn-2
|                              1/4   7/12   1/6|   |Vn   |      |Pn-1|
|                                        0         3|   | Vn+1|      |Pn|


       其中,矩阵的维数由P的个数决定,也就是说有n个方程,但不是一个确定的值。要看给定P的个数。要求的是V的值。最左边大矩阵中省略的部分都是(1/6   2/31/6)只是每一行比上一行要退后一列。
       因为不能确定给出P中究竟有几个值,只能是先编程,然后等运行期间给定,而且n又影响到最左边的大矩阵,所以不知道该怎么编了。
       请各位达人给点建议。多谢了

sigma665 发表于 2008-7-9 13:42

先编个函数,传如参数为n
让他生成左边的大矩阵

nancy2008521 发表于 2008-7-9 15:18

对,我就是这么想的,可是没有思路,能不能再提醒一下啊?谢谢啦

nancy2008521 发表于 2008-7-9 15:28

我这样编了一下,结果是错的(其中dx是上面说的V;X是上面说的P):
dx=[];

3*dx(2)=3*x(1)+0.5;    %P1=3*x1+0.5
(1/4)*dx(2)+(7/12)*dx(3)+(1/6)*dx(4)=x(2);
n=length(x);
for i=4:(n-1)
    (1/6)*dx(i)+2/3*dx(i+1)+1/6*dx(i+2)=x(i-1);
end
(1/4)*dx(n-1)+(7/12)*dx(n)+(1/6)*dx(n+1)=x(n-1);
3*dx(n+1)=3*x(n)+0.5;   %Pn= 3*xn+0.5

sigma665 发表于 2008-7-10 10:04

回复 4楼 的帖子

不是这个意思

先单独把左边大矩阵表示出来
这方面可以搜索下矩阵的形成

nancy2008521 发表于 2008-7-10 16:48

好的,谢谢。我编一下试试。非常感谢
页: [1]
查看完整版本: 求解方程组问题