挺有意思的问题,简单谈一下看法
将你的需求分成两部分,一是让程序自行解析用户输入的函数解析式,二是绘制函数图像.
首先,关于第一个功能,最直接的思路就是字符串解析,按照数学知识定义不同的运算符号,按照使用习惯定义常用的变量和常量的符号字母,然后据此规则解析输入的字符串,再根据解析结果确定函数中基本运算的次数及运算顺序,最后将整个操作流程以一定形式存储起来即可.
然后,对于第二个功能,根据给定函数绘制图像并不难,对于一元和二元函数来说很容易实现,难点在于多元函数应如何绘制直观易懂的函数图像?不过这一点超出编程语言的范畴了,而且二元函数可以满足大部分应用场景了.
另外,这里还有很多细节没有讨论,例如输入数据是字符串还是图像;是否可以用其他方法解析输入,例如神经网络.这些就很复杂了,不再深入.
回答中可能有考虑不周的地方,希望上述内容对你有参考意义
我画了半个正弦函数,其余的你可以照着画,欢迎讨论,
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "graphics.h"
void main()
{
int driver,mode,i;
driver=DETECT;
mode=0;
initgraph(driver,mode,"");
getch();
restorecrtmode();
}
这样说吧,n是最高次方,A是次方前面的倍数.如果n(最高次)是偶数,并且An(最高项系数)0,那么图像左边下降,右边上升;
如果n是偶数且An0, 那么图像左边上升,右边下降
如果n是奇数且An0, 那么图像从左到右都上升
如果n是奇数且An0, 那么图像从左到右都下降.
还要注意图像从右往左看,奇穿偶不穿,符号看象限.我也正在找攻略呢,所以自己也不大明白,不知道能不能帮到你......
多项式,比如:f(x)
=
p(x)
◆
x
画图:可以取x为一序列,得到对应的f(x)然后描点绘图即可
你要什么图像 sin 还cos 要不我都给你把!
①.、#includestdio.h
#includemath.h
double y;
int i,n;
for(y=1;y=0;y-=0.1)
{n=asin(y)*10;
for(i=1;i=n;i◆◆)
printf(" ");
printf("*");
printf("*\n");}
for(y=0;y=1;y◆=0.1)
int x,m;
for(y=1;y=-1;y-=0.1)
{m=acos(y)*10;
for(x=1;xm;x◆◆)
之后在给你个连个图像相交的把
int n,m,i,j,x,yy;
{y=0.1*yy;
m=acos(1-y)*10;
n=asin(1-y)*10;
{if((x==n)(x==m)) printf("◆");
else if((x==n)||(x==i)||(x==j)) printf("◆");
else printf(" ");}
printf("\n");
以上就是土嘎嘎小编为大家整理的C语言画多项式函数图像相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!