matlab中,定义的函数有两个形参,但当调用函数时结果不正确,如果只设定一个参量,结果是对的,为什么?

下面是两个参量的函数:functionH=hermit_poly(xi,qi)%二阶导数symsxqf=diff(exp(-x^2),x,q);h=(-1)^2*exp(... 下面是两个参量的函数:
function H=hermit_poly(xi,qi)%二阶导数
syms x q
f=diff(exp(-x^2),x,q);
h=(-1)^2*exp(x^2)*f;
h=simple(h);
x=xi; q=qi;
H=eval(h);
end
结果显示:为0
但如果只定义一个形参时,答案是正确的
function H=hermit_poly(xi)%二阶导数
syms x
f=diff(exp(-x^2),x,2);
h=(-1)^2*exp(x^2)*f;
h=simple(h); x=xi;
H=eval(h);
end
结果图: 显示结果14 是正确的 为什么是这样的?多谢多谢
我是直接在command窗口输入的hermit_poly(1,2),结果显示是0,后来我把这个函数改了,只有一个形参,调用的时候输入的是hermit_poly(1),在公式里把涉及到q的地方手动改成2了,结果是正确的,想问问为什么不能同时定义两个形参?
展开
 我来答
tianxiawulang
推荐于2016-09-05 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2648万
展开全部

不是不能定义两个形参,是不能对符号量求未知阶数的导数。

你把第一个函数的前两行改成这样就没问题:

syms  x
f=diff(exp(-x^2),x,qi);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式