rew10812 发表于 2007-5-17 16:20

求高手指点程序错误

syms x y
h=6.63*10^(-34);
m=1.75e5;
u1=1;
u2=3;
y0=0;
n0=1e4;
v=5e14;
d=0.13;
k=h*v*u1*n0/(4*pi);
A=k/((d-x)^2+(y-y0)^2);
B=sqrt(u1+u2*((d-x)^2+(y-y0)^2));
C=exp((-1)*B);
D=A*C;
Q1=dblquad(inline(D),0,1,-50,50)
Q2=numeric(int(D,'x',0,1))
Q3=numeric(int(Q2,'y',-50,50))

??? Error using ==> inline/inline
Input must be a string.

请高手指点错在哪里?

[ 本帖最后由 mjhzhjg 于 2007-5-17 23:29 编辑 ]

eight 发表于 2007-5-17 19:13

原帖由 rew10812 于 2007-5-17 16:20 发表 http://www.chinavib.com/forum/images/common/back.gif
syms x y
h=6.63*10^(-34);
m=1.75e5;
u1=1;
u2=3;
y0=0;
n0=1e4;
v=5e14;
d=0.13;
k=h*v*u1*n0/(4*pi);
A=k/((d-x)^2+(y-y0)^2);
B=sqrt(u1+u2*((d-x)^2+(y-y0)^2));
C=exp((-1)*B);
D=A*C;
Q1= ...

help inline

rew10812 发表于 2007-5-17 20:29

不好意思,能直接告诉我应该怎么改吗?我不会改阿!

rew10812 发表于 2007-5-17 20:35

是不能使用外部变量,可是式子实在太长,应该怎么办好呢?
syms x y
h=double(6.63*10^(-34));
m=double(1.75e5);
u1=double(1);
u2=double(3);
y0=double(0);
n0=double(1e4);
v=double(5e14);
d=double(0.13);
k=h*v*u1*n0/(4*pi);
%A=k/((d-x)^2+(y-y0)^2);
%B=sqrt(u1+u2*((d-x)^2+(y-y0)^2));
%C=exp((-1)*B);
%D=A*C;
%Q2=int((k/((d-x)^2+(y-y0)^2))*exp((-1)*sqrt(u1+u2*((d-x)^2+(y-y0)^2))),x,0,1)
Q3=int(int((k/((d-x)^2+(y-y0)^2))*exp((-1)*sqrt(u1+u2*((d-x)^2+(y-y0)^2))),x,0,1),y,-50,50)
那我什么这个程序也运行不出来呢?

eight 发表于 2007-5-17 21:12

原帖由 rew10812 于 2007-5-17 20:29 发表 http://www.chinavib.com/forum/images/common/back.gif
不好意思,能直接告诉我应该怎么改吗?我不会改阿!

自己看看 matlab 关于 inline 函数的例子,你 help inline 一下,难道还不会吗

eight 发表于 2007-5-17 21:13

原帖由 rew10812 于 2007-5-17 20:35 发表 http://www.chinavib.com/forum/images/common/back.gif
是不能使用外部变量,可是式子实在太长,应该怎么办好呢?
syms x y
h=double(6.63*10^(-34));
m=double(1.75e5);
u1=double(1);
u2=double(3);
y0=double(0);
n0=double(1e4);
v=double(5e14);
d=dou ...


无解析解,建议换数值积分

这类问题版面讨论得太多了,建议好好看看

xjzuo 发表于 2007-5-17 23:38

Q1已算出结果, 将Q2,Q3两句去掉即可.

rew10812 发表于 2007-5-18 09:34

把Q2Q3去掉也还是不行啊

sffei 发表于 2007-5-18 10:36

7.0的可以运行出结果

rew10812 发表于 2007-5-18 12:17

请问运行出的结果是什么啊?我没有7.0阿
页: [1]
查看完整版本: 求高手指点程序错误