发布网友 发布时间:2023-06-23 14:49
共1个回答
热心网友 时间:2024-11-24 10:56
1、你是怎样调用的?照理说,如果是正常的调用,例如
yanyan(1.5,1:10,.1)应该会出现Matrix must be square的提示,而不会是too many input。
2、vectorize不是这样用的,它只能把一个char类型的表达式或sym、inline对象给替换成点运算,而对于一个double类型的数值,会强制转换为char类型,可能导致丢失精度(因为char的表示范围有限,即使在中文环境下,范围也只是0-65535,而且只能是整数)。
3、表达式写错了,把2h^2给放到指数函数外面了,也就是说
exp(-(x-y)^2)/(2*z^2)应为
exp(-(x-y)^2/(2*z^2))
4、可以简单修改如下:
function c=yanyan(x,y,z)但这样的写法不支持x为向量的情况,可以考虑改成
function c=yanyan(x,y,z)