Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-11-25
年龄: 39
帖子: 2
声望力: 0 ![]() |
![]()
我在写一个code
x=[0 3.8317 7.01558 10.17346 13.32369; 1.84118 5.3314 8.5363 11.706 14.86359; 3.05424 6.70613 9.96947 13.1703 16.34752; 4.20119 8.01524 11.346 14.586 17.7888; 5.3176 9.2824 12.682 15.964 19.196]'; q=25*ones(265,1); a=40; beta=x/a; b=160; l=1:5; alpha=l*pi/b; r=0:40/4:40; theta=0 ![]() z=0:160/4:160; for i=1:length(r) for j=1:length(z) for k=1:length(theta) u(i,j,k)=0; for l=1:5 for m=1:5 u(i,j,k)=u(i,j,k)+q(1:25)*exp(-((beta(m,1)^2+alpha(l)^2)*t))*cos(alpha(l)*z(j))*besselj(0,beta(m,1)*r(i)); for n=2:5 u(i,j,k)=u(i,j,k)+q(26:145)*exp(-((beta(m,n)^2+alpha(l)^2)*t))*cos(alpha(l)*z(j))*cos(n*theta(k))*besselj(n-1,beta(m,n)*r(i)); u(i,j,k)=u(i,j,k)+q(146:265)*exp(-((beta(m,n)^2+alpha(l)^2)*t))*cos(alpha(l)*z(j))*sin(n*theta(k))*besselj(n-1,beta(m,n)*r(i)); end end end end end end 运行的时候出现“??? Error using ==> plus Matrix dimensions must agree. Error in ==> new at 24 u=u+q(26:145)*exp(-((beta(m,n)^2+alpha(l)^2)*t))*cos(alpha(l)*z(j))*cos(n*theta(k))*besselj(n-1,beta(m,n)*r(i));” 请问是什么意思,应该怎么解决呢:cry: |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-01-14
年龄: 41
帖子: 3
声望力: 0 ![]() |
![]()
你这程序 问题很大 这么多循环 速度肯定很慢 要优化
其实matlab 已经给你出现问题的地方和原因了,程序运行到24条命令的时候,你的矩阵维数和后面的数组不一致!所以不能相加!你自己去找答案不断的调试才能认清问题的本质,学到东西。努力吧... |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
求汉明码的编码与解码MATLAB程序 | rain1206 | MATLAB论坛 | 2 | 2009-03-02 12:48 |
[求助]关于三维画图的问题 | duckliton | MATLAB论坛 | 6 | 2008-12-15 18:55 |
[求助]哪位帮忙画个简单的图,先谢了。 | alphas | MATLAB论坛 | 0 | 2008-12-14 11:40 |
[求助]axis显示图像问题 | bigorangefdc | MATLAB论坛 | 2 | 2008-11-15 10:18 |
Studying the World's Most Complex Dynamic Systems | TechnicalArticles | MATLAB技术文章 | 0 | 2008-08-29 00:40 |