通过Excel拟合到一个曲线函数
y = 1E-11x6 - 9E-09x5 + 3E-06x4 - 0.0004x3 + 0.0258x2 - 0.3772x + 31.93
但用matlab却怎么也画不出原图,不知错在哪里?高手请指点
x=1:1:241;
p1 =1E-11;
p2 =- 9E-09;
p3 =3E-06;
p4 =- 0.0004;
p5 =0.0258;
p6 =- 0.3772;
p7=31.93;
f= p1.*x.^6 + p2.*x.^5 + p3.*x.^4 + p4.*x.^3+p5.*x.^2+p6.*x+p7;
plot(x,f)
本来应该是一个先升后降曲线,matlab做出来却一直递增,怎么也想不通。。。
原函数y = 1E-11x6 - 9E-09x5 + 3E-06x4 - 0.0004x3 + 0.0258x2 - 0.3772x + 31.93 应该是在x=1和x=241时都得到30左右的值,在x=120左右得到最大值53,,matla做出的从x=9之后一直递增,竟然在x=241时达到好几百的值,大家帮忙再看看,谢谢了
matlab画6次多项式函数图!急!!
答案:2 悬赏:0 手机版
解决时间 2021-02-01 11:54
- 提问者网友:最爱你的唇
- 2021-02-01 02:29
最佳答案
- 五星知识达人网友:大漠
- 2021-02-01 03:47
拐点在x = 9左右。
取x = 0:.1:18; 就可以看到
取x = 0:.1:18; 就可以看到
全部回答
- 1楼网友:旧脸谱
- 2021-02-01 04:25
用符号变量编写:
y=1;
syms x
for i=1:5
y=y+x^i;
end
y
y =
1+x+x^2+x^3+x^4+x^5
求y(3)输入:
subs(y,x,3)
ans =
364
或用字符变量编写,代值转成符号变量:
y='1';
for i=1:5
y=[y,'+x^',int2str(i)];
end
y
y =
1+x^1+x^2+x^3+x^4+x^5
subs(sym(y),3)
ans =
364
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯