标题:用matlab做二次积分做不了!
只看楼主
lujunliang
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-12-6
 问题点数:0 回复次数:3 
用matlab做二次积分做不了!

m文件integrnd.m
function z=integrnd(x,y)
z=(sin(x)*sin(y))^2;


命令窗口键入
q=dblquad(@integrnd,0,pi,0,pi)




目的求f(x,y)=(sinx)^2*(siny)在:0<=x<=¶,0<=y<=¶的值

em06]
搜索更多相关主题的帖子: matlab 积分 
2006-12-08 20:29
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
function z=integrnd(x,y)
z=(sin(x).*sin(y)).^2;

此人已消失
2006-12-09 21:24
lujunliang
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-12-6
得分:0 
版主,帮忙解释一下我的错误.
谢谢

2006-12-12 11:28
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
得分:0 
点乘'.*'和乘'*'运算规则不一样,在计算重积分时dblquad将生成网格[x,y],而你的函数integrnd中
z=(sin(x)*sin(y))^2;根据矩阵的乘法规则要求sin(x)*sin(y)必须为方阵,运算才有意义。
楼上的斑竹已经为你解决了,也可以这样该
function z=integrnd(x,y)
z=(sin(x)*sin(y)).^2;

2006-12-15 18:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108209-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111880 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved