返回信息流小弟这两天用matlab做仿真,突发奇想想用VC++来实现,不知道能否实现,比如画一个正态分布的函数图,在控制台下可以实现吗?还是必须用MFC。望各位大牛不吝赐教。拜谢。
这是一条镜像帖。来源:北邮人论坛 / cpp / #38281同步于 2010/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求助:关于运用C++画函数图像的问题
joshua1988
2010/4/20镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
我只知道MFC特别好画
【 在 joshua1988 (SAILOR) 的大作中提到: 】
: 小弟这两天用matlab做仿真,突发奇想想用VC++来实现,不知道能否实现,比如画一个正态分布的函数图,在控制台下可以实现吗?还是必须用MFC。望各位大牛不吝赐教。拜谢。
【 在 joshua1988 的大作中提到: 】
: 小弟这两天用matlab做仿真,突发奇想想用VC++来实现,不知道能否实现,比如画一个正态分布的函数图,在控制台下可以实现吗?还是必须用MFC。望各位大牛不吝赐教。拜谢。
仿真最好使matlab啊
这么说吧
lz想用vc来画图,既然是画图,那必须有显示所化图像的地方,而控制台显然不能显示图像(可以显示用字符画出来的图像。。。。),因此必须使用到windows的界面
所以可以不用MFC,用win32 application就行,不过这个比较麻烦(其实不麻烦,是需要你去学习句柄等东西。。。)
还有一个方法:用vc去调用matlab的引擎。。。。
有图形界面就能画图。
p.s. 另外,试试这个:
#include<stdio.h>
#include<math.h>
int main() {
int r, c;
char plot_buffer[25][81];
for (r=0;r<25;r++) {
for (c=0;c<80;c++) {
plot_buffer[r][c] = ' ';
}
plot_buffer[r][80]='\0';
}
double pi = acos(-1);
double mu = 0.0, sigma = 1.0;
int origin_x = 40, origin_y = 24; // Origin point in the plot_buffer axis
double scale_x = 20.0, scale_y = -40.0; // Number of characters in one unit in the graph. Console character is usually 1:2 (width : height).
for(c=0;c<80;c++) {
double x = (c - origin_x) / scale_x;
double y = exp(-(x-mu)*(x-mu) / 2.0) / (sqrt(2.0 * pi) * sigma);
r = y * scale_y + origin_y;
if (r<0 || r>=25) { printf("ERROR: This should not happen. Please change yscle\n");}
plot_buffer[r][c] = '.';
}
for(r=0;r<25;r++) {
puts(plot_buffer[r]);
}
return 0;
}
这个图画的太霸气了
【 在 wks 的大作中提到: 】
: 有图形界面就能画图。
: p.s. 另外,试试这个:
: #include<stdio.h>
: ...................
仿真用matlab多好 把重点放在数据上
用什么都一样 仿真的话matlab各种方便
【 在 joshua1988 的大作中提到: 】
: 小弟这两天用matlab做仿真,突发奇想想用VC++来实现,不知道能否实现,比如画一个正态分布的函数图,在控制台下可以实现吗?还是必须用MFC。望各位大牛不吝赐教。拜谢。