
跪求matlab “确定一个次数不高于4的多项式f(x),使f(0)=0,f‘(x)=0,f(1)=f'(1)=1,f(2)=1”
1个回答
展开全部
第二个条件f‘(x)=0应该是f‘(0)=0吧?
syms x a4 a3 a2 a1 a0
f=a4*x^4+a3*x^3+a2*x^2+a1*x+a0;
df=diff(f,x);
[a0,a1,a2,a3,a4]=solve([char(subs(f,x,0)) '=0'],[char(subs(df,x,0)) '=0'],[char(subs(f,x,1)) '=1'],[char(subs(df,x,1)) '=1'],[char(subs(f,x,2)) '=1']);
% 代入系数
fx=subs(f)
% 验算
subs(fx,0)
subs(diff(fx),0)
subs(fx,1)
subs(diff(fx),1)
subs(fx,2)
得到的结果是
f(x) = 1/4*x^4 - 3/2*x^3 + 9/4*x^2
syms x a4 a3 a2 a1 a0
f=a4*x^4+a3*x^3+a2*x^2+a1*x+a0;
df=diff(f,x);
[a0,a1,a2,a3,a4]=solve([char(subs(f,x,0)) '=0'],[char(subs(df,x,0)) '=0'],[char(subs(f,x,1)) '=1'],[char(subs(df,x,1)) '=1'],[char(subs(f,x,2)) '=1']);
% 代入系数
fx=subs(f)
% 验算
subs(fx,0)
subs(diff(fx),0)
subs(fx,1)
subs(diff(fx),1)
subs(fx,2)
得到的结果是
f(x) = 1/4*x^4 - 3/2*x^3 + 9/4*x^2
追问
恩恩,那个打错了,不用编成函数吧,直接输入就行么
追答
不用函数。
把从syms那一行到fx=subs(f)复制到命令窗口执行就可以了,后面是验算。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询