24小时热门版块排行榜    

CyRhmU.jpeg
查看: 232  |  回复: 2
当前主题已经存档。

feibao

银虫 (小有名气)

[交流] 【求助】求助 ATLAB有关数据输入的问题已有2人参与

各位高手请帮忙了!这个程序运行好像正常,前面基本都是利用符号运算, 很快就运行到最后赋值处,但是数值替换后迟迟不出结果,不知何故?(数值代入后计算对电脑来说应该不成为题吧)多谢帮忙!
clear all
format short
syms u  v
m=1;
s=1+0.1;
a=0.98;
b=0.99;
n1=1.48;
n2=-a*n1;
n3=b*n1;
r=(n1^2-n2^2)/(n1^2-n3^2)

w1=v^2*r-u^2;

w=v^2-u^2;

ne=sqrt((w^2/v^2)*(n1^2-n3^2)+n3^2);
F1=-besselj(m+1,u)+m./u.*besselj(m,u);
F= F1./(u.*besselj(m,u));
M1=besseli(m+1,w1)+m./w1.*besseli(m,w1);
M=M1./(w1.*besseli(m,w1));
N1=-besselk(m+1,w1)+m./w1.*besselk(m,w1);

N=N1./(w1.*besselk(m,w1));
Q=m*(1./u.^2+1./w1.^2);
R=m*(1./w1.^2-1./w.^2)/s;
S1=besseli(m+1,w1*s)+m./w1./s.*besseli(m,w1*s);

S=S1./(w1.*besseli(m,w1*s));
T1=-besselk(m+1,w*s)+m./w./s.*besselk(m,w*s);

T=T1./(w.*besselk(m,w*s));
X1=-besselk(m+1,w1*s)+m./w1./s.*besselk(m,w1*s);

X=X1./(w1.*besselk(m,w1*s));
I1m=besseli(m,w1);
K1m=besselk(m,w1);
I2m=besseli(m,w1*s);
K2m=besselk(m,w1*s);

x1=Q.*ne.*I1m
x2=Q.*ne.*K1m;
x3=I1m.*(F-M);
x4=K1m.*(F-N);
x5=R*ne.*I2m;
x6=R.*ne.*K2m;
x7=I2m.*(-S-T);
x8=K2m.*(-X-T);
x9=I1m.*(n1^2.*F-n2^2.*M);
x10=K1m.*(n1^2.*F-n2^2.*N);
x11=Q.*ne.*I1m;
x12=Q.*ne.*K1m;
x13=I2m.*(-S.*n2^2-n3^2.*T);
x14=K2m.*(-n2^2.*X-n3^2.*T);
x15=R.*ne.*I2m;
x16=R.*ne.*K2m;
f=det([x1,x2,x3,x4;x5,x6,x7,x8;x9,x10,x11,x12;x13,x14,x15,x16]);


fv=diff(f,v);

fu=diff(f,u);
  f1=-fv/fu;
f2=1+(u/v)^2*(1-2*v/u*f1);
   v=6.4414247e-001
u= 6.4091366e-001

f1=subs(f1)
f2=subs(f2)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anyuezhiji

银虫 (正式写手)

星空行者

feibao(金币+1): 2010-04-18 21:56
feibao(金币+9):都给你了 呵呵 谢谢 2010-04-21 14:01
CODE:
f1=subs(f1)
f2=subs(f2)

改成
CODE:
f1=eval(f1)
f2=eval(f2)

就ok了

暗月下没有留下风的痕迹,但它已经寂然飘逝。。By<暗月之寂>:tiger38:
2楼2010-04-14 20:44:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feibao

银虫 (小有名气)

引用回帖:
Originally posted by anyuezhiji at 2010-04-14 20:44:28:
CODE:
f1=subs(f1)
f2=subs(f2)

改成
CODE:
f1=eval(f1)
f2=eval(f2)

就ok了


哦 谢谢了 刚才我在运行程序时又发现,上面的程序在MATLAB7.0版本中运行时出现如下错误:
r =

    1.9899


x1 =

-1/67108864*(1/u^2+1/(8961936946928325/4503599627370496*v^2-u^2)^2)*(196307224013466*(v^2-u^2)^2/v^2+9668377399778868)^(1/2)*besseli(1,-8961936946928325/4503599627370496*v^2+u^2)


??? Error using ==> minus
Out of memory. Type HELP MEMORY for your options.

Error in ==> sym.sym>char2sym at 395
         p = cumsum((S == '(') - (S == ')'));

Error in ==> sym.sym at 92
   S = char2sym(x);

Error in ==> sym.maple at 92
   result = sym(result);

Error in ==> sym.diff at 50
   R = reshape(maple('map','diff',S(,x),size(S));

>> 但在MATLAB7.10新版本中运行时没有错误报告 但是仍然不出结果,昨天这个小程序居然运行一个晚上不见结果;
请高手指教了
3楼2010-04-14 21:58:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 feibao 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见