MiGL Tech.

苟利国家生死以,岂因祸福避趋之~

米国梁ID:BoyMgl
24997次访问,排名4639(1)好友4人,关注者6
E-mail:miguoliang61620@gmail.com
BoyMgl的文章
原创 45 篇
翻译 0 篇
转载 0 篇
评论 11 篇
米国梁的公告
系统分析师,信息与计算科学本科在读。
最近评论
BoyMgl:并没有什么大的分析工作,通常是网站建设,还有些自己写的框架和类库,然后就是一些在学校里才有的课题的分析和设计,另外就是极其喜欢分析其他人的作品!!
hongszh@gmail.com:很想了解你说得很多分析工作都是那方面的工作?很惭愧,我是05毕业后才开始真正做开发工作。
有理:不怕神一样的对手,就怕猪一样的队友

这句话很适用于中国男足~
upchj:不错
yhr28:楼主,我很想多问你一些fft的问题。不知,可否QQ聊?QQ:29858488

我想了解,要是有256个离散数据,怎么进行fft变换。且,变换后是只有一个波峰的数据?
要是,你能解决这个问题,我不胜感激!!
文章分类
收藏
    相册
    我画的图
    技术联盟
    iShowing.net
    SJW's World
    vczh的博客
    YouYee.org
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 求解三对角系统方程算法实现收藏

    新一篇: 带状对角矩阵的压缩及乘法运算算法实现 | 旧一篇: 求矩阵行列式的值(基于LU分解法)

    算法名称:求解三对角系统方程
     
    算法描述:
           线性方程系统的特例之一是三对角形式的,也就是说,非零的元素仅出现在对角线及其前、后一列的位置上。
           对三对角系统,LU分解过程、前代或回代每次只需ON次操作。
    一般来说,不必把整个N×N矩阵全部保存起来,只需保存非零的元素,存为三向量。形如,
                 (1
    注:a0cN-1没有定义,示例程序中见不引用它们。
     
    补充说明:
           triadag中没有选主元。正是这个原因,即使矩阵是非奇异的,tridag也可能失败,因为有些非奇异矩阵是可能遇到零主元的。如果
                                                                                  2
    (称为对角占优)则可以证明算发不会遇到零主元。
           另外,可以构造出特殊的例子,来说明由于算法没有选主元而导致数值不稳定。然而,实践中这种不稳定几乎从未遇到过,不像一般的矩阵问题中选主元是必不可少的。
           一旦遇到tridag算法失败的问题,则可换用更一般的方法,即求解带状对角系统的方法。

     示例程序:

    package com.nc4nr.chapter02.tridag;

    public class TriDag {

        
    /*
         *        | 1.0, 2.0, 0.0,  0.0,   0.0 |
         *        | 3.0, 4.0, 5.0,  0.0,   0.0 |
         *    A = | 0.0, 6.0, 7.0,  8.0,   0.0 |
         *        | 0.0, 0.0, 9.0, 10.0,     11.0 |
         *        | 0.0, 0.0, 0.0, 12.0,    13.0 | 
         
    */

        
        
    double[]     b = 1.04.07.010.013.0 },
                    a 
    = 3.06.09.012.0 },
                    c 
    = 2.05.08.011.0 };
        
        
    /*        
         *         | 14.0 |
         *         | 15.0 |
         *    R = | 16.0 |
         *        | 17.0 |
         *        | 18.0 |
         
    */

        
        
    double[]    r = 14.015.016.017.018.0 };
        
        
    int anrow = 5;
        
        
    private void tridag() {
            
    double bet;
            
    int n = anrow;
            
    double[] gam = new double[n],
                     u 
    = new double[n];
            
    if (b[0== 0.0) System.out.println("Error 1 in tridag.");
            u[
    0= r[0]/(bet = b[0]);
            
    for(int j = 1; j < n; j++{
                gam[j] 
    = c[j-1]/bet;
                bet 
    = b[j]-a[j-1]*gam[j];
                
    if (bet == 0.0) System.out.println("Error 2 in tridag");
                u[j] 
    = (r[j]-a[j-1]*u[j-1])/bet;
            }

            
    for (int j = n-2; j >= 0; j--)
                u[j] 
    -= gam[j+1]*u[j+1];
            
    for (int j = 0; j < n; j++)
                System.out.println(u[j]);
        }

        
        
    public TriDag() {
            tridag();
        }

        
        
    public static void main(String[] args) {
            
    new TriDag();
        }


    }
     

    发表于 @ 2007年12月04日 14:36:00|评论(loading...)|编辑

    新一篇: 带状对角矩阵的压缩及乘法运算算法实现 | 旧一篇: 求矩阵行列式的值(基于LU分解法)

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 米国梁