![]() |
大家帮我看一个程序呗,谢了
各位方家好:
我写了一段程序,大家给看看有什么毛病 function y=ceshi(x) if x>=0 y=1; else y=0 end 然后把它保存为ceshi.m 接着用数值积分 quad('ceshi',0,1) 这时出现错误 ??? Attempted to access y(7); index out of bounds because numel(y)=1. Error in ==> quad at 71 if ~isfinite(y(7)) 这是怎么回事呀? 谢谢! |
回复: 大家帮我看一个程序呗,谢了
quad采用逼近法来求函数积分,它要求ceshi函数值在数值逼近过程中为一个矩阵,但是原ceshi函数只能得到一个元素,而它用该方法无法求的结果。用int可得到正确积分。
|
回复: 大家帮我看一个程序呗,谢了
谢谢zqh0260。
我用int做过,也不行。如果把quad改为int,会有如下出错信息 ??? Function 'ge' is not defined for values of class 'sym'. Error in ==> ceshi4 at 2 if x>=0。 另外,如果我把上面那段程序改为 function y=ceshi(x) if x>=0 y=x; else y=0 end 然后运行quad('ceshi',0,1)则完全没有问题。 很奇怪。 |
回复: 大家帮我看一个程序呗,谢了
用不着那么麻烦
quad('x>=0',0,1) ans = 1 |
所有时间均为北京时间。现在的时间是 03:39。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.