posts - 34, comments - 0, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

 

 1#include <stdio.h>
 2#include <math.h>
 3#include <stdlib.h>
 4/*
 50.500000 1.100000 3.100000
 60.000000 -10.040000 -24.500000
 70.000000 0.000000 -12.284024
 8-2.600000
 91.000000
102.000000
11请按任意键继续. . .
12*/

13#define n 3
14double a[3][3]={{0.5,1.1,3.1},{5,0.96,6.5},{2,4.5,0.36}};
15double b[3]={6,0.96,0.02};
16double m[3][3];
17double x[3]={0,0,0};
18int k,p;
19
20int main(){
21    for(k=0;k<n-1;k++){
22            if(a[k][k]==0)  break;
23            else{
24                     for(int i=k+1;i<n;i++){
25                             m[i][k]=a[i][k]/a[k][k];
26                             for(int j=k;j<n;j++){        
27                             a[i][j]=a[i][j]-m[i][k]*a[k][j];
28                             }

29                             b[i]=b[i]-b[k]*m[i][k];
30                     }
 
31            }
        
32    }

33    for(int i=0;i<n;i++){
34            for(int j=0;j<3;j++){
35            printf("%f ",a[i][j]);}

36            printf("\n");        
37    }

38    //huidai--有错 
39    x[n-1]=b[n-1];//Right.. 
40    for(int i=n-1;i>=0;i--){//where is the error
41          double sum=0;//ok.Vectory.
42          for(int j=i+1;j<n;j++){//Be careful while using for loop!!!
43                sum+=a[i][j]*x[j];
44          }

45          x[i]=(b[i]-sum)/a[i][i];
46    }

47    
48    for(int i=0;i<n;i++){
49            printf("%3.2f\n",x[i]);        
50    }

51    
52    system("pause");
53}

54

 

posted @ 2011-09-24 22:14 polly 阅读(229) | 评论 (0)编辑 收藏

数学建模,DSS系统

posted @ 2011-06-14 17:12 polly 阅读(111) | 评论 (0)编辑 收藏

销售商务管理系统已经告一段落,现在开始伪360研发。

posted @ 2011-05-30 23:15 polly 阅读(115) | 评论 (0)编辑 收藏

1//调用位图,执行程序时打开图片
2    CDC memdc;
3    CBitmap *olddc;
4    CBitmap bitmap;
5    bitmap.LoadBitmap(IDB_BITMAP1);
6    pDC=this->GetDC();
7    memdc.CreateCompatibleDC(pDC);
8    olddc=memdc.SelectObject(&bitmap);
9    pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);
当然,先免不了设置坐标系。

posted @ 2011-05-29 16:54 polly 阅读(428) | 评论 (0)编辑 收藏


核心代码如下

 1// TODO: 在此处为本机数据添加绘制代码
 2    CRect rect;
 3    GetClientRect(&rect);
 4
 5    pDC->SetMapMode(MM_ANISOTROPIC);
 6    pDC->SetWindowExt(100100);//窗口逻辑大小:1000*1000,
 7    pDC->SetViewportExt(100-100);//改变Y坐标方向--viewport使用物理大小
 8    pDC->SetViewportOrg(rect.left, rect.bottom);//设置窗口中心点为坐标系原点--Viewport使用物理大小 
 9    CPen PenNew(PS_GEOMETRIC,10,RGB(255,0,0));
10    CPen* pPenOld;
11    pPenOld=pDC->SelectObject(&PenNew);
12    srand((unsigned) time(NULL)); /*播种子*/
13    pDC->MoveTo(50,50);
14    //pDC->LineTo(100,100);
15    for (int i=0;i<5;i++){
16        int x=rand()%500;
17        int y=rand()%500;
18        pDC->LineTo(x,y);
19        pDC->BitBlt(x,y,25,25,NULL,0,0,BLACKNESS);
20
21    }

22    pDC->SelectObject(pPenOld);
23    PenNew.DeleteObject();

posted @ 2011-05-26 22:43 polly 阅读(780) | 评论 (0)编辑 收藏

 1void  Cpaytax2Dlg::OnEnChangeEdit1()
 2{
 3    // TODO:  如果该控件是 RICHEDIT 控件,则它将不会
 4    // 发送该通知,除非重写 CDialog::OnInitDialog()
 5    // 函数并调用 CRichEditCtrl().SetEventMask(),
 6    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
 7
 8    // TODO:  在此添加控件通知处理程序代码
 9    CEdit *wEdit1;
10    wEdit1=(CEdit*)GetDlgItem(IDC_EDIT1);
11    //wEdit1->SetWindowText( "FOO" );
12    //取值
13    CString str;
14    GetDlgItem(IDC_EDIT1)->GetWindowText(str);
15    temp=atof(str);
16}

17
18void Cpaytax2Dlg::OnBnClickedOk()
19{
20    // TODO: 在此添加控件通知处理程序代码
21    UpdateData(TRUE);
22    PayTax paytax(temp);
23    temp2=paytax.calculate();
24    //
25    UpdateData(FALSE);
26    GetDlgItem(IDC_EDIT1)->SetFocus();
27    ((CEdit *)GetDlgItem(IDC_EDIT1))->SetSel(0,-1,TRUE);
28
29    UpdateData(FALSE);
30    CString str;
31    str.Format("%f",temp2);
32    GetDlgItem(IDC_EDIT2)->SetWindowText(str); 
33    //OnOK();
34
35}

36

posted @ 2011-05-24 23:15 polly 阅读(306) | 评论 (0)编辑 收藏

在Linux 2.6中,有四种关于IO的调度算法,下面综合小结一下:

1) NOOP

NOOP算法的全写为No Operation。该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作。之所以说“大致”,

原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求。NOOP假定I/O请求由驱动程序或者设

备做了优化或者重排了顺序(就像一个智能控制器完成的工作那样)。在有些SAN环境下,这个选择可能是最好选择。Noop 对于 IO 不那么操

心,对所有的 IO请求都用 FIFO 队列形式处理,默认认为 IO 不会存在性能问题。这也使得 CPU 也不用那么操心。www.linuxidc.com当然

,对于复杂一点的应用类型,使用这个调度器,用户自己就会非常操心。


2) Deadline scheduler

DEADLINE在CFQ的基础上,解决了IO请求饿死的极端情况。除了CFQ本身具有的IO排序队列之外,DEADLINE额外分别为读IO和写IO提供了FIFO

队列。读FIFO队列的最大等待时间为500ms,写FIFO队列的最大等待时间为5s。FIFO队列内的IO请求优先级要比CFQ队列中的高,,而读FIFO

队列的优先级又比写FIFO队列的优先级高。优先级可以表示如下:

FIFO(Read) > FIFO(Write) > CFQ

deadline 算法保证对于既定的 IO 请求以最小的延迟时间,从这一点理解,对于 DSS 应用应该会是很适合的。

3) Anticipatory scheduler

CFQ和DEADLINE考虑的焦点在于满足零散IO请求上。对于连续的IO请求,比如顺序读,并没有做优化。为了满足随机IO和顺序IO混合的场景,

Linux还支持ANTICIPATORY调度算法。ANTICIPATORY的在DEADLINE的基础上,为每个读IO都设置了6ms 的等待时间窗口。如果在这6ms内OS收

到了相邻位置的读IO请求,就可以立即满足

Anticipatory scheduler(as) 曾经一度是 Linux 2.6 Kernel 的 IO scheduler 。Anticipatory 的中文含义是”预料的, 预想的”, 这个

词的确揭示了这个算法的特点,简单的说,有个 IO 发生的时候,如果又有进程请求 IO 操作,则将产生一个默认的 6 毫秒猜测时间,猜测

下一个 进程请求 IO 是要干什么的。这对于随即读取会造成比较大的延时,对数据库应用很糟糕,而对于 Web Server 等则会表现的不错。

这个算法也可以简单理解为面向低速磁盘的,因为那个”猜测”实际上的目的是为了减少磁头移动时间。

4)CFQ

CFQ算法的全写为Completely Fair Queuing。该算法的特点是按照IO请求的地址进行排序,而不是按照先来后到的顺序来进行响应。

在传统的SAS盘上,磁盘寻道花去了绝大多数的IO响应时间。CFQ的出发点是对IO地址进行排序,以尽量少的磁盘旋转次数来满足尽可能多的

IO请求。在CFQ算法下,SAS盘的吞吐量大大提高了。但是相比于NOOP的缺点是,先来的IO请求并不一定能被满足,可能会出现饿死的情况。

Completely Fair Queuing (cfq, 完全公平队列) 在 2.6.18 取代了 Anticipatory scheduler 成为 Linux Kernel 默认的 IO scheduler

。cfq 对每个进程维护一个 IO 队列,各个进程发来的 IO 请求会被 cfq 以轮循方式处理。也就是对每一个 IO 请求都是公平的。这使得

cfq 很适合离散读的应用(eg: OLTP DB)。我所知道的企业级 Linux 发行版中,SUSE Linux 好像是最先默认用 cfq 的.

查看和修改IO调度器的算法非常简单。假设我们要对sda进行操作,如下所示:

cat /sys/block/sda/queue/scheduler

echo “cfq” > /sys/block/sda/queue/scheduler

总结:

1 CFQ和DEADLINE考虑的焦点在于满足零散IO请求上。对于连续的IO请求,比如顺序读,并没有做优化。为了满足随机IO和顺序IO混合的场景

,Linux还支持ANTICIPATORY调度算法。ANTICIPATORY的在DEADLINE的基础上,为每个读IO都设置了6ms的等待时间窗口。如果在这6ms内OS收

到了相邻位置的读IO请求,就可以立即满足。

IO调度器算法的选择,既取决于硬件特征,也取决于应用场景。

在传统的SAS盘上,CFQ、DEADLINE、ANTICIPATORY都是不错的选择;对于专属的数据库服务器,DEADLINE的吞吐量和响应时间都表现良好。

然而在新兴的固态硬盘比如SSD、Fusion IO上,最简单的NOOP反而可能是最好的算法,因为其他三个算法的优化是基于缩短寻道时间的,而

固态硬盘没有所谓的寻道时间且IO响应时间非常短。

2 对于数据库应用, Anticipatory Scheduler 的表现是最差的。Deadline 在 DSS 环境表现比 cfq 更好一点,而 cfq 综合来看表现更好一

些。这也难怪 RHEL 4 默认的 IO 调度器设置为 cfq. 而 RHEL 4 比 RHEL 3,整体 IO 改进还是不小的。

 

posted @ 2011-05-18 18:32 polly 阅读(1158) | 评论 (0)编辑 收藏

教材上的算法根本就没讲明白,琢磨了好久。其实分类效果很不好。数据分析sample如下:
    3.20     2.00----0
    4.60     5.70----0
    1.50     5.00----0
    1.80     6.90----3
    6.10     5.50----0
    7.40     4.90----5
    7.20     9.30----6
    8.40     0.40----7
    9.00     2.70----8
    4.30     1.20----0

posted @ 2011-05-18 10:26 polly 阅读(271) | 评论 (0)编辑 收藏

 

 1select * from R_Business_OrderInfo
 2
 3select *from Base_ProductInfo
 4
 5select *from Base_ProductInfo where ProLine_Name='服务器'
 6
 7select *from Base_ProductInfo where ProLine_Name='服务器' and Product_BaseTypeName='电话支持类'
 8
 9select top 10 *from Base_ProductInfo order by newid()
10
11select top 10 * from Base_ProductInfo where ProLine_Name='服务器' order by CreateDate asc
12
13select * from Base_ProductInfo where Product_BigTypeName like '硬盘%'
14
15select * from R_Business_OrderInfo
16
17select * from R_Business_OrderInfo where UnifiedCustName like '[中深]%' order by SVC_MaterialName
18
19alter table T_Base_Rate
20alter column Ratetype varchar(50)
21
22select *from Base_ProductInfo
23
24select * from T_Base_StandardDate
25
26--查询表的主键
27EXEC sp_pkeys @table_name='R_Business_OrderInfo'  
28--查询表的主键
29
30
31select * from R_Business_OrderInfo

posted @ 2011-05-05 17:12 polly 阅读(170) | 评论 (0)编辑 收藏

       今天是去联想工作的第一天,上次晃眼间看见的开发室,今天显得越发小了。
       不过组人很不错,很soft。上午跟着跑了一遍系统,基本熟悉了下表结构和表项等内容,大概明白了R的表是干嘛的。
       中午还没吃饭,就被拉去别的楼做现场测试,组长也叫上了我。哈哈,跟着蹭了必胜客的披萨吃,呃,虽然我很饿,不过还是好难吃的披萨。
       下午看着对面销售组的人在对数据,导数据,然后发现问题 ,解决问题。学到了不少东西。组长还给我讲解了一些东西。
       大概了解了下工作流程,好好学习c#和数据库,加油!

posted @ 2011-05-03 22:51 polly 阅读(250) | 评论 (0)编辑 收藏

仅列出标题
共4页: 1 2 3 4