声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1194|回复: 2

[编程技巧] quadl的被积函数限制自变量的幂次吗?

[复制链接]
发表于 2010-1-25 23:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近在求一个问题的数值积分,其中一句代码如下:
a = quadl(@(x) arrayfun(@(xx) quadl(@(y) ((x1(n)-xx)^2+y^2),-0.0001,0.0001),x),-0.0001,0.0001);
运行后显示的错误代码如下:
??? Error using ==> mpower
Matrix must be square.
Error in ==> @(y)((x1(n)-xx)^2+y^2)

Error in ==> quadl at 70
y = feval(f,x,varargin{:}); y = y(:).';
Error in ==> @(xx)quadl(@(y)((x1(n)-xx)^2+y^2),-0.0001,0.0001)

Error in ==> @(x)arrayfun(@(xx)quadl(@(y)((x1(n)-xx)^2+y^2),-0.0001,0.0001),x)

Error in ==> quadl at 70
y = feval(f,x,varargin{:}); y = y(:).';
Error in ==> example at 11
quadl(@(x) arrayfun(@(xx) quadl(@(y)
((x1(n)-xx)^2+y^2),-0.0001,0.0001),x),-0.0001,0.0001);

请问高手,上面错误代码中的Matrix must be square是什么意思呢?

此外,我发现把我的程序中的y^2换成y,或换成任意关于y的一次方的表达式,运行时都不会错误;但是y的幂次大于等于2以后,就会出现上述错误。请问这是为什么呢? 如果想完成我的积分应该用别的什么函数呢? 多谢!!!!!

评分

1

查看全部评分

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2010-1-25 23:58 | 显示全部楼层
常见的程序出错问题整理 (eight), 10F
http://forum.vibunion.com/forum/thread-46001-1-1.html

试试y.^2注意那一点

[ 本帖最后由 ChaChing 于 2010-1-26 00:01 编辑 ]
 楼主| 发表于 2010-1-26 00:48 | 显示全部楼层

回复 沙发 ChaChing 的帖子

谢谢谢谢,确实是这样,这个问题现在解决了,不过出现了新的问题,我再继续研究。
多谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-26 00:56 , Processed in 0.097378 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表