我有一道C语言的题不会做,谁能帮帮我!!!

有一道C语言的题是这样的:有一个函数:f(x)=4x*x*x+4x*x+4x+4从键盘输入一个数求从这个数开始有第一个极小值点。这道是我找不到一点思路:求极小值的思路是怎... 有一道C语言的题是这样的:
有一个函数:f(x)=4x*x*x+4x*x+4x+4
从键盘输入一个数
求从这个数开始有第一个极小值点。

这道是我找不到一点思路:
求极小值的思路是怎样的
要怎样才能保证求到的是第一个极小值呢

救命啊各位大侠
我要的是极小值
不是最小值

极小值是这样的:
如果一个连续函数,它的值如果是先减后增的话,那么它的极小值点就是在从减到增的转折点上。反之就是极大值点。

但极小值点却不是最小值点,因为还有比它小的值

总之还是谢谢一楼的老兄

C语言里可以使用微分吗!!!???
谢谢二楼的老兄
展开
 我来答
纵横线智能化
2006-03-12 · TA获得超过1857个赞
知道大有可为答主
回答量:3615
采纳率:0%
帮助的人:1340万
展开全部
第一步:对该函数求一次导(适用任何函数):
F(x)=12*x*x+8*x+4;
第二步: 判断x的极性
令F(x)=0;得出x的值(判断8*8-4*12*4与0大小,本题无 极值点):
用if.....else if
1)小于0,无解
2)等于0,有一 解x
if(F(x)<0&&F(x+0.01)>0)它是极小值//0.01为增大x一点.
return x;
3)大于 有二解 x1,x2,
if(F(x1)<0&&F(x1+0.01)>0)
return x1;
else if(F(x2)<0&&F(x2+0.01)>0)
return x2;
第三步:找第一个极小值点
把输入的a(假设)的值代入F(x)中
判断f(a)与f(x)的大小
if(f(x)<f(a)&&a>=x)//a>=x 为a在x的前面
return x;

x 为所求的极小值点

没 有笔和纸 没法写的再详细一 点,还请原谅
这要从微分角度来考虑。
先对f(x)求导f(x)'=12x*x+8x,令其=0,
则有x=0和x=-2/3两个拐点;
再求二次导,f(x)''=24x+8,代入两个直,
分别为8和-8;
f(x)''>0的话图呈U形,有极小直;
反之有极大直。
这要从微分角度来考虑。
先对f(x)求导f(x)'=12x*x+8x,令其=0,
则有x=0和x=-2/3两个拐点;
再求二次导,f(x)''=24x+8,代入两个直,
分别为8和-8;
f(x)''>0的话图呈U形,有极小直;
反之有极大直。
这要从微分角度来考虑。
先对f(x)求导f(x)'=12x*x+8x,令其=0,
则有x=0和x=-2/3两个拐点;
再求二次导,f(x)''=24x+8,代入两个直,
分别为8和-8;
f(x)''>0的话图呈U形,有极小直;
反之有极大直。
yn2k
2006-03-11 · TA获得超过310个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:343万
展开全部
晕。
这个也好办 4x*x*x+4x 分成一组 4x*x+4 分成一组
就变成了 4x(x*x+1)+4(x*x+1)也就是 (4x+1)(x*x+1)

x*x+1 保证是正的 那么最小的就出现在 4x+1 里了

如果 x>=-0.25 最小值是 (4x+1)(x*x+1)
如果 x<-0.25 那么最小值 点没有
呵呵,希望对你有帮助。
如果 X是整数 最小值点应该在0 呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友53e5e635eb
2006-03-12 · TA获得超过360个赞
知道答主
回答量:241
采纳率:0%
帮助的人:170万
展开全部
这要从微分角度来考虑。
先对f(x)求导f(x)'=12x*x+8x,令其=0,
则有x=0和x=-2/3两个拐点;
再求二次导,f(x)''=24x+8,代入两个直,
分别为8和-8;
f(x)''>0的话图呈U形,有极小直;
反之有极大直。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d145c7940
2006-03-12 · 超过14用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:52.2万
展开全部
第一步:对该函数求一次导(适用任何函数):
F(x)=12*x*x+8*x+4;
第二步: 判断x的极性
令F(x)=0;得出x的值(判断8*8-4*12*4与0大小,本题无 极值点):
用if.....else if
1)小于0,无解
2)等于0,有一 解x
if(F(x)<0&&F(x+0.01)>0)它是极小值//0.01为增大x一点.
return x;
3)大于 有二解 x1,x2,
if(F(x1)<0&&F(x1+0.01)>0)
return x1;
else if(F(x2)<0&&F(x2+0.01)>0)
return x2;
第三步:找第一个极小值点
把输入的a(假设)的值代入F(x)中
判断f(a)与f(x)的大小
if(f(x)<f(a)&&a>=x)//a>=x 为a在x的前面
return x;

x 为所求的极小值点

没 有笔和纸 没法写的再详细一 点,还请原谅
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2006-03-12
展开全部
#include<stdio.h>
#include<math.h>
main()
{float y,x,i;
scanf("%f",&x);
for(i=x;i<exp(4);)
{y=12*x*x+8*x+4;
if(y==0&&y-exp(-4)<y&&y+exp(-4)>y)
{ printf("%f",i);
break;
else i=i+exp(-4);
}
}
这道题目没有解,不过微分的方法还不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式