标题:【求助】c++的问题,要求画一个波形图,可是图出不来,自己修改不了,求帮助 ...
只看楼主
qqyjsw
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-4-17
 问题点数:0 回复次数:0 
【求助】c++的问题,要求画一个波形图,可是图出不来,自己修改不了,求帮助。
void CTestDlg::OnPaint()
{
    CPaintDC dc(this); // device context for painting
int i,j;
int drive=DETECT;
int mode=2;

float kt,ky,ym;
char s[100],c;

int x,y,xe,ye;
int ty;
int LP,VN;
float x11,x21,x31,x41,x10,x20,x30,x40,e0,R;
float x01,x02,x03,e01;
int a[10][10];
float ST,DT;
ST=1000;DT=1;
LP=ST/DT;

   
 x10=0,x20=0,x30=0,x40=0,R=1;
 a[0][0]=x30;  
 for (i=1;i<=LP;i++)
  {
      e0=R-x30/0.9-x40;
      x11=x10+0.014*DT*e0;
      x21=exp(-DT/27)*x20+(1-exp(-DT/27))*x10;
      x31=exp(-DT/27)*x30+(1-exp(-DT/27))*x20;
      x41=x40+DT/0.9/155*x30;
      a[0][i]=x31;
      x10=x11;x20=x21;x30=x31;x40=x41;
   }
  

   ym=fabs(a[0][0]);

   for(j=0;j<LP;j=j++)
{
for(i=0;i<VN;i++)
   {if(fabs(a[i][j])>ym) ym=fabs(a[i][j]);
     }
}




initgraph(&drive,&mode,"");
x=40;xe=620;
y=40;ye=440;

kt=(xe-x)/(LP*DT);
ky=(ye-y)/ym/2.0;
ty=y+(ye-y)/2;
line(x,ty,xe+10,ty);
line(xe,ty+3,xe+10,ty);
line(xe,ty-3,xe+10,ty);

line(x,y-10,x,ye+10);
line(x-3,y,x,y-10);
line(x+3,y,x,y-10);
for(j=1;j<=10;j++)
    line(x+j*(xe-x)/10.0,ty-3,x+j*(xe-x)/10.0,ty+3);
for(j=1;j<=11;j++)
    line(x-3,+j*(ye-y)/10.0,x+3,j*(ye-y)/10.0);
outtextxy(xe,ty+5,"t");
outtextxy(x-10,y-10,"y");
for(j=1;j<=9;j++)
{
   gcvt(j*(xe-x)/10.0/kt,2,s);
   outtextxy(x-10+j*(xe-x)/10.0,ty+5,s);
}
for(j=-5;j<=5;j++)
{
   gcvt(j*(ye-y)/10.0/ky,2,s);
   outtextxy(0,240-j*(ye-y)/10.0,s);
}

for(i=0;i<VN;i++)
 { moveto(x,ty);
   for(j=1;j<LP;j=j++)
   
    lineto(x+j*DT*kt,ty-ky*a[i][j]);

 }
我需要出一个波形图,可是设置的x,y轴坐标有问题,而且波形图也出不来,不知道问题在哪里,希望大神来帮忙。因为下了easyx的补丁,所以graphics.h可以用。

[ 本帖最后由 qqyjsw 于 2015-4-17 23:08 编辑 ]
搜索更多相关主题的帖子: drive 
2015-04-17 23:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444171-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112653 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved