声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1922|回复: 4

[综合讨论] 求助:MATLAB计算和画图(求和,积分)

[复制链接]
发表于 2009-5-5 10:16 | 显示全部楼层 |阅读模式

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

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

x
clear all; syms l;              %积分变量λ
format long; u1=4*pi*10^-7;          %其他参数
u2=4*pi*10^(-5.0); u3=4*3.14*10^-7;
e1=1; e2=1; e3=1; d1=0.01; d2=0.01; d3=0.01;
r1=0.1; r2=1; r=0.07; I=5;
Sn=pi*r1^2; Nt=1; M=I*Sn*Nt; Sr=Sn;
z=1; f=5; w=2*pi*f;   
%%系数kn
kn=[-0.0166666666666666 16.0166666666666 -1247 27554.3333333333 -26328.0833333333 1324138.7 -3891705.533333333 7053286.33333333 -8005336.5 5552830.5 -2155507.2 359251.2];
n=[1 2 3 4 5 6 7 8 9 10 11 12];

tt=linspace(0.00000000000001,1,5);
for n2=1:length(tt)
    t=tt(n2);
   
P=log(2)*n./t;      %%Pn

%%其他参数,计算表达式中的A1(λ)所用   
   
k1=sqrt(w^2*u1*e1+i*w*u1*d1);  k2=sqrt(w^2*u2*e2+i*w*u2*d2);
k3=sqrt(w^2*u3*e3+i*w*u3*d3);
x1=sqrt(l.^2-k1^2); x2=sqrt(l.^2-k2^2); x3=sqrt(l.^2-k3^2);
t11=x1*r1; t21=x2*r1; t22=x2*r2; t32=x3*r2;
I00=besseli(0,t11); I01=besseli(0,t21); I02=besseli(0,t22);
I10=besseli(1,t11); I11=besseli(1,t21); I12=besseli(1,t22);
K00=besselk(0,t11); K01=besselk(0,t21); K02=besselk(0,t22); K03=besselk(0,t32);
K10=besselk(1,t11); K11=besselk(1,t21); K12=besselk(1,t22); K13=besselk(1,t32);

s=[  -u1*x1.*K10        -u2*I11            -u2*K11            0
     -x1.^2.*K00         x2.*I01           -x2.*K01           0   
          0              u2*I12             u2*K12         -u3*K13
          0             x2.*I02            -x2.*K02         x3.*K03];
        
x=[ u1.*I10            -u2.*I11          -u2.*K11            0
   -x1.*I00            x2.*I01           -x2.*K01            0
       0               u2*I12             u2.*K12       -u3.*K13
       0               x2.*I02            -x2.*K02       x3.*K03];
  
S=det(s); X=det(x); A1=S./X;      %%表达式中的A1(λ)

xs=-log(2)*M/(2*t*pi^2);   
ys=kn./P; y3=xs*ys; y3s=sum(y3);
y3=subs(y3s); y2=x1.*(-A1*I00+x1*K00)*cos(l*z);
y2q(n2)=quadl(inline(y2),0.001,100);
y=y3*y2q; yr=real(y); yi=imag(y);

end
figure(1); plot(tt,yr);
figure(2); plot(tt,yi);

求出时间取不同值时,H(t)的值,在画出t与H(t)的曲线图。t值的范围(0.00000000000011),相当于每取一个t值,就要计算12次,再将这12个数值相加。

遇到的问题:t取不同值时,得到的结果H(t)却相同。

(式中的其他参数就不列出了,主要公式见附件)

请高手们帮帮我吧!!!!


附件.doc (32.5 KB, 下载次数: 3)

[ 本帖最后由 ChaChing 于 2009-5-5 10:38 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2009-5-5 15:40 | 显示全部楼层
假如在计算中令
t=0.2时,y =

  7.65480897660316 + 0.02562014483532i
t=1时,y= 7.65480897660070 + 0.02562014483532i
但是用运行上面的程序,即tt =

  Columns 1 through 4

   0.00000000000001   0.25000000000001   0.50000000000001   0.75000000000000

  Column 5

   1.00000000000000
则运行结果y =

  Columns 1 through 2

  7.65480897660070 + 0.02562014483532i  7.65480897660070 + 0.02562014483532i

  Columns 3 through 4

  7.65480897660070 + 0.02562014483532i  7.65480897660070 + 0.02562014483532i

  Column 5

  7.65480897660070 + 0.02562014483532i
请教大家呀,帮我看看问题出在哪了,谢谢啦
发表于 2009-5-5 15:58 | 显示全部楼层
y2和t无关,因此,y2q与t无关;
y3=xs*ys=-log(2)*M/(2*t*pi^2)*kn./P=-log(2)*M/(2*t*pi^2)*kn*t/log(2)/n=-M/2/pi^2*kn/n,因此y3也与t无关,
所以y与t无关
呵呵,这是我根据你的程序做的分析

评分

1

查看全部评分

 楼主| 发表于 2009-5-5 21:33 | 显示全部楼层
非常感谢楼上的关注!

y=y3*y2q;

y3中是有t的 ,所以y与t有关。

具体的表达式可见附件!

请各位高手帮我看看!谢谢啦
 楼主| 发表于 2009-5-5 21:39 | 显示全部楼层
非常感谢friendchj,我明白啦!还是自己太粗心了,以后多加改正,呵呵!

:victory:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-6 03:09 , Processed in 0.100319 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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