24小时热门版块排行榜    

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

youyouxiong

新虫 (小有名气)

[求助] matlab高人帮看看这个程序

matlab菜鸟,对这东西真不懂啊,请教各位高手
怎样用matlab编了个计算程序,能运行,但是和计算公式有差异,高手帮看看问题在哪,附件是应该得到图线形式
timeg=1.65

n=95;                           %selected  points
voltage=[0.65637
0.34749
0
4.51737
9.65251
13.16602
18.30116
23.74517
28.26255
34.32432
38.49421
42.66409
45.90734
50.3861
54.55598
58.72587
61.9305
65.44402
68.33977
71.89189
75.40541
77.64479
79.26641
76.67954
74.13127
71.23552
73.4749
76.67954
79.88417
84.71042
86.94981
88.22394
85.67568
89.84556
87.60618
86.29344
84.40154
82.12355
85.98456
84.71042
86.64093
88.57143
90.15444
92.08494
91.42857
89.84556
87.25869
90.81081
91.11969
89.53668
88.57143
86.94981
85.01931
86.29344
88.57143
91.42857
88.22394
85.98456
83.43629
80.23166
77.64479
74.44015
70.92664
67.72201
63.51351
57.76062
53.89961
51.00386
46.5251
42.04633
35.63707
31.46718
25.98456
21.50579
15.71429
9.30502
6.10039
2.58687
0.34749
-0.30888
0
2.89575
4.51737
2.58687
0.65637
0.34749
0
0.34749
3.55212
8.03089
11.23552
15.09653
18.30116
22.77992
25.67568];

%integration
pressure=voltage;
timemm=0:timegn-1)*timeg;
integfunction=pressure;
pressure(1)=0;
for i=1n-1)
    xx=[timemm(i),timemm(i+1)];
    s=[i-1,i]
    ff=[integfunction(i)*sin(7426.067244*(i-s)),integfunction(i+1)*sin(7426.067244*(i+1-s-1))];
    pp=spline(xx,ff);
    int_pp=fnint(pp);
    pressure(i+1)=ppval(int_pp,[timemm(i),timemm(i+1)])*[-1;1];
end
for i=1n-1)
    pressure(i+1)=pressure(i)+pressure(i+1);
end        
plot(timemm,pressure);
grid on

1


回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

白衣太史

新虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-09 21:23:31
你的程序编制没有逻辑问题,要解决问题你的公式需要贴出来。
3楼2012-07-09 19:22:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

youyouxiong

新虫 (小有名气)

正确的图应该是图2,图1是voltage
2楼2012-07-08 14:48:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Moon8808

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
xiegangmai: 金币+2, 谢谢参与! 2012-08-09 22:42:35
youyouxiong: 金币+5, 有帮助 2012-08-09 22:49:13
timeg=1.65;w=7426.067244;
timemm=0:timegn-1)*timeg;
for ii=1:n
     tt=timeg*(ii-1);
     integfunction(ii)=(2*sin((tt*w)/2)^2)/w*p(ii);
     K(ii)=sum(integfunction(1:ii));
end
plot(timemm,K)
4楼2012-08-09 22:37:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见