matlab出现问题急求
就是求个多阶导数展开式怎么出现这个问题啊symsxf(x)=input('function');n=input('timesofderivation');s=1;whil...
就是求个多阶导数展开式 怎么出现这个问题啊
syms x
f(x)=input('function');
n=input('times of derivation');
s=1;
while s<=n;
f(x)=diff(f(x),s)+f(x);
s=s+1;
end
The following error occurred converting from sym to double:
Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead. 展开
syms x
f(x)=input('function');
n=input('times of derivation');
s=1;
while s<=n;
f(x)=diff(f(x),s)+f(x);
s=s+1;
end
The following error occurred converting from sym to double:
Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead. 展开
3个回答
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
错误的意思是,你不能 吧 变量变为bouble,因此,f(x)应该写为f,修改的程序如下:\x0d\x0asyms x \x0d\x0af=input('function');\x0d\x0an=input('times of derivation');\x0d\x0as=1;\x0d\x0awhile s<=n;\x0d\x0a f=diff(f,s)+f;\x0d\x0a s=s+1;\x0d\x0aend\x0d\x0a测试通过,祝顺利!
展开全部
第一个问题:
f(x),系统将带()的数看做对数组元素的调用,而不是一个整体,因此可以用y或者f替代;
第二问题:
要求多阶导数展开式,我的理解是y=f(n)+f(n-1)+f(n-2)+...+f(0)
%公式打不出来,我用f(n)表示n阶导数,
而如果按照你的循环,可能不是这个结果,比如:
s=3
n=1, y=f(1)+f(0);
n=2, y=f(2)+f(1)+f(1)+f(0)=f(2)+2*f(1)+f(0) ;
n=3, y=f(3)+2*f(2)+f(1)+f(2)+2*f(1)+f(0) ;
建议:
%%%%%%%%%%%%%%%%%%%%%%%
syms x y f temp ;
y=input('function');
n=input('times of derivation');
% x表示变量,y表示需要处理的函数,f表示最终结果,temp存储中间变量
s=1;
temp=y;
while s<=n;
temp=diff(y,s);
f=f+temp;
s=s+1;
end
%%%%%%%%%%%%%%%%%%%%
不知道我的理解是否对,希望对楼主有帮主。
f(x),系统将带()的数看做对数组元素的调用,而不是一个整体,因此可以用y或者f替代;
第二问题:
要求多阶导数展开式,我的理解是y=f(n)+f(n-1)+f(n-2)+...+f(0)
%公式打不出来,我用f(n)表示n阶导数,
而如果按照你的循环,可能不是这个结果,比如:
s=3
n=1, y=f(1)+f(0);
n=2, y=f(2)+f(1)+f(1)+f(0)=f(2)+2*f(1)+f(0) ;
n=3, y=f(3)+2*f(2)+f(1)+f(2)+2*f(1)+f(0) ;
建议:
%%%%%%%%%%%%%%%%%%%%%%%
syms x y f temp ;
y=input('function');
n=input('times of derivation');
% x表示变量,y表示需要处理的函数,f表示最终结果,temp存储中间变量
s=1;
temp=y;
while s<=n;
temp=diff(y,s);
f=f+temp;
s=s+1;
end
%%%%%%%%%%%%%%%%%%%%
不知道我的理解是否对,希望对楼主有帮主。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误的意思是,你不能 吧 变量变为bouble,因此,f(x)应该写为f,修改的程序如下:
syms x
f=input('function');
n=input('times of derivation');
s=1;
while s<=n;
f=diff(f,s)+f;
s=s+1;
end
测试通过,祝顺利!
syms x
f=input('function');
n=input('times of derivation');
s=1;
while s<=n;
f=diff(f,s)+f;
s=s+1;
end
测试通过,祝顺利!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询