24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1792  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

apollosun9283

金虫 (小有名气)

剑桥公爵

[求助] MATLAB一个数值积分的问题

待求参数an如附件中的公式所示,θ∈[0,2π],由于公式中的D(θ)是以区间[0,2π]上均匀的离散的144个点的形式给出的:
D=[2.524,2.522,2.518,2.512,2.504,2.495,2.484,2.472,2.459,2.444,2.427,2.41,2.391,2.372,...
    2.351,2.329,2.305,2.281,2.256,2.229,2.201,2.172,2.142,2.111,2.079,...
    2.046,2.011,1.975,1.938,1.9,1.86,1.82,1.778,1.735,1.69,1.645,1.598,...
    1.55,1.501,1.451,1.399,1.347,1.294,1.239,1.184,1.129,1.072,1.015,...
    0.958,0.901,0.844,0.786,0.729,0.673,0.618,0.563,0.51,0.459,0.409,...
    0.361,0.315,0.272,0.231,0.193,0.158,0.127,0.098,0.074,0.052,0.034,...
    0.02,0.01,0.003,0,0,0.004,0.012,0.023,0.037,0.054,0.074,0.097,0.123,...
    0.152,0.183,0.216,0.251,0.289,0.328,0.369,0.412,0.456,0.501,0.548,...
    0.596,0.645,0.694,0.745,0.797,0.849,0.901,0.954,1.008,1.062,1.116,...
    1.17,1.225,1.279,1.334,1.388,1.442,1.496,1.55,1.603,1.655,1.707,1.758,...
    1.808,1.858,1.906,1.953,1.999,2.043,2.086,2.127,2.167,2.205,2.241,...
    2.275,2.307,2.337,2.365,2.391,2.414,2.435,2.454,2.471,2.485,2.497,...
    2.507,2.515,2.52,2.524,2.525];

  所以只能求得数值积分。
  我的求解程序如下:
  b=linspace(0,2*pi,144);
  for n=1:300
   for i=1:144
   c(i)=D(i)*cos(n*(i-1)*2*pi/143);
   end
   a(n)=1/pi*trapz(b,c)
   end

   请问我这个程序对吗?如果不对,求正确的!
  请大家帮帮忙,在输入原始数据D的时候,直接在我这里复制可以了哈!

333333333333333333333333.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

倚楼听风雨,淡看江湖路
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

328911052

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dbb627: 金币+1, 感谢应助 2012-09-26 21:06:30
apollosun9283: 金币+30, ★★★很有帮助 2012-10-15 10:11:14
clear;clc
D=[2.524,2.522,2.518,2.512,2.504,2.495,2.484,2.472,2.459,2.444,2.427,2.41,2.391,2.372,...
    2.351,2.329,2.305,2.281,2.256,2.229,2.201,2.172,2.142,2.111,2.079,...
    2.046,2.011,1.975,1.938,1.9,1.86,1.82,1.778,1.735,1.69,1.645,1.598,...
    1.55,1.501,1.451,1.399,1.347,1.294,1.239,1.184,1.129,1.072,1.015,...
    0.958,0.901,0.844,0.786,0.729,0.673,0.618,0.563,0.51,0.459,0.409,...
    0.361,0.315,0.272,0.231,0.193,0.158,0.127,0.098,0.074,0.052,0.034,...
    0.02,0.01,0.003,0,0,0.004,0.012,0.023,0.037,0.054,0.074,0.097,0.123,...
    0.152,0.183,0.216,0.251,0.289,0.328,0.369,0.412,0.456,0.501,0.548,...
    0.596,0.645,0.694,0.745,0.797,0.849,0.901,0.954,1.008,1.062,1.116,...
    1.17,1.225,1.279,1.334,1.388,1.442,1.496,1.55,1.603,1.655,1.707,1.758,...
    1.808,1.858,1.906,1.953,1.999,2.043,2.086,2.127,2.167,2.205,2.241,...
    2.275,2.307,2.337,2.365,2.391,2.414,2.435,2.454,2.471,2.485,2.497,...
    2.507,2.515,2.52,2.524,2.525];


  for n=1:300
      X=linspace(0,2*n*pi,144);
      Y=D.*cos(n*X);
      Z(n)=trapz(X,Y);
  end
我不管是否能够赢得成功,既然选择了远方,便只顾风雨兼程!
3楼2012-09-26 09:37:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

wucheng0107

金虫 (小有名气)

开心就好

【答案】应助回帖

感谢参与,应助指数 +1
来给你添点人气,我是化工的,学过Matlab,但是还是有待继续努力啊
开心就好!
2楼2012-09-26 08:35:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)


dbb627: 金币+1, 谢谢应助! 2012-09-26 21:05:49
引用回帖:
3楼: Originally posted by 328911052 at 2012-09-26 09:37:04
clear;clc
D=;


  for n=1:300
      X=linspace(0,2*n*pi,144);
      Y=D.*cos(n*X);
      Z(n)=trapz(X,Y);
  end...

感谢您的参与!
您的程序和我的其实是一样的。
不过,您在算cos(nθ)的时候,积分上下限取的是[0,2nπ],是不是取错了,应该是[0,2π]。
此外,最后在调用梯形积分函数trapz的时候,您好像漏掉了1/π。
我在您程序上作了上述修改后,我算出的a和您程序算出的Z,吻合得很好。

untitled.jpg

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2012-09-26 10:44:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huwanpeng2

金虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
建议参考黄华江的那本书,化学工业出版社,有例子的
skloche.ecust
5楼2012-09-26 11:02:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见