matlab 出现nan怎么办
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/24 10:15:51
matlab 出现nan怎么办
function c1 = gussionan1(Y,z,PY,PZ,Q,h,FS,VV)
c1=VV.*Q.*exp(-0.5.*(Y.^2)./(PY.^2)+(z-h).^2./(PZ.^2))./(2.*FS.*pi.*PY.*PZ);
变量都是一个在两千左右的列向量 对于c1算出来也是一个同维的 c1出现NaN 怎么解决
function c1 = gussionan1(Y,z,PY,PZ,Q,h,FS,VV)
c1=VV.*Q.*exp(-0.5.*(Y.^2)./(PY.^2)+(z-h).^2./(PZ.^2))./(2.*FS.*pi.*PY.*PZ);
变量都是一个在两千左右的列向量 对于c1算出来也是一个同维的 c1出现NaN 怎么解决
因为你的表达式中的变量,如PY、PZ、FS中的值为o或空格.所以会出现NaN.解决的方法可以用if条件语句,当PY、PZ、FS为零时,可以人为加个辅助量0.00001..
再问: 我考虑了这个问题啊 我PY、PZ、FS 所有的值都避开了0 大神能帮我看看程序吗?
会不会是溢出?我是新手啊 大神请指教啊
再答: 算式是没有问题的
再问: 我私信给你程序吧 大神帮我 金币可追加
再答: 可以的
从你发的文件看了看,发现你命名的函数内容与你要用的函数不相符,所以导致c1出现NaN的问题。表达式的分母,没有加辅助向量,即ones(n,1)*1e-10。
再问: 我考虑了这个问题啊 我PY、PZ、FS 所有的值都避开了0 大神能帮我看看程序吗?
会不会是溢出?我是新手啊 大神请指教啊
再答: 算式是没有问题的
再问: 我私信给你程序吧 大神帮我 金币可追加
再答: 可以的
从你发的文件看了看,发现你命名的函数内容与你要用的函数不相符,所以导致c1出现NaN的问题。表达式的分母,没有加辅助向量,即ones(n,1)*1e-10。