| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1584 人关注过本帖
标题:求助 MATLAB柱形图显示
只看楼主 加入收藏
1210kktrap
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-6-18
收藏
 问题点数:0 回复次数:0 
求助 MATLAB柱形图显示

我用VC和MATLAB混合编程 想实现将数据用柱型图表示 代码如下:
Engine *ep;
double t[1];
int Sum[1];

t[0]=5; //横坐标的取值
Sum[0]=sum;

if(!(ep=engOpen(NULL)))
{AfxMessageBox("Can't start Matlab engine!");exit(-1);}

mxArray *T=mxCreateDoubleMatrix(1,1,mxREAL);//创建一个2维的DOUBLE类型,阵列行数列数都为1数据是实数
mxArray *TT=mxCreateDoubleMatrix(1,36,mxREAL);
mxArray *TTT=mxCreateDoubleMatrix(1,1,mxREAL);
mxArray *TTTT=mxCreateDoubleMatrix(1,10,mxREAL);
memcpy(mxGetPr(T),t,1*sizeof(double)); //mxGetPr()获取MATLAB数据类型的指针
memcpy(mxGetPr(TT),arrayn,36*sizeof(double));
memcpy(mxGetPr(TTT),Sum,1*sizeof(double));
memcpy(mxGetPr(TTTT),arraym,10*sizeof(double));

engPutVariable(ep,"ep_T",T); //把变量写入MATLAB引擎的工作空间
engPutVariable(ep,"ep_P1",TT);
engPutVariable(ep,"ep_P2",TTT);
engPutVariable(ep,"ep_P3",TTTT);

engEvalString(ep,"ep_D1=var(ep_P1);"); //求方差
engEvalString(ep,"ep_D2=var(ep_P3);"); //求方差
engEvalString(ep,"y=ep_D1/1.0e+131 ;");
engEvalString(ep,"ep_T=1:10"); //隔多少取一个点
engEvalString(ep,"bar(y);"); //画图
engEvalString(ep,"xlabel('工位等待时间 设备负荷率 总时间');");
engEvalString(ep,"ylabel('评价指标');");
engEvalString(ep,"title('钢铁连铸调度计划评价指标');");
engEvalString(ep,"legend('工位等待时间','设备负荷率','总等待时间'); ");
AfxMessageBox("close");
engClose(ep);
mxDestroyArray(T);
mxDestroyArray(TT);
mxDestroyArray(TTT);
mxDestroyArray(TTTT);

其中arrayn arraym是2个数组 他们的方差 还有SUM是3个评价指标 我想把他们用柱型图显示在一个界面里
但只显示第一个柱 ~~~~~ 这到底 为什么
高手帮帮我 吧 我要毕不了业了
谢谢了

搜索更多相关主题的帖子: MATLAB 
2006-06-18 15:54
快速回复:求助 MATLAB柱形图显示
数据加载中...
 
   



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

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