声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1081|回复: 4

[编程技巧] 循环程序问题

[复制链接]
发表于 2007-3-17 23:10 | 显示全部楼层 |阅读模式

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

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

x
高手帮忙看下下面这个程序为什么运行不出结果?CPU使用都是100%,就是不出结果,大家给看看怎么回事?

syms x y
nr=3;
ns=2;
Lx=1.0;
Ly=1.5;
L=0.75;
c=340;
f=200;
k=2*pi*f/c;
% 建立波函数矩阵
fix(1)=exp(-j*k*y);
for r = 1:nr;
    krx=r*pi/Lx;                  %k r-x
    kry=sqrt(k^2-krx^2);          %k r-y
    fix(2*r)=cos(krx*x)*exp(-j*kry*y);
    fix(2*r+1)=cos(krx*x)*exp(j*kry*y);
end;
fiy(1)=exp(-j*k*x);
for s = 1:ns;
    ksy=s*pi/Ly;                  %k(s,y),y坐标
    ksx=sqrt(k^2-ksy^2);          %k(s,x),x坐标
    fiy(2*s)=exp(-j*ksx*x)*cos(ksy*y);
    fiy(2*s+1)=exp(j*ksx*x)*cos(ksy*y);
end;
fi=[fix fiy];                     %波函数矩阵
fit=transpose(fi);           %波函数矩阵的转置
pfipx = diff(fi,x);
pfipy = diff(fi,y);
x3=1.5;
y3=0.75;
x4=1.25;
y4=1;
s3=sqrt((x4-x3)^2+(y4-y3)^2);
cosa3=(x4-x3)/s3;
sina3=(y4-y3)/s3;
A3=[cosa3 sina3];                 %段3方向正弦和余弦
pfipn3=[];                        %段3方向导数
%
pfipn3=cosa3*pfipx+sina3*pfipy;     %波函数的方向导数矩阵
pfipn3t=transpose(pfipn3);            %波函数的方向导数矩阵的转置
Bx3=fit*pfipn3;
kr=(y4-y3)/(x4-x3);
Y=kr*(x-x3)+y3;                 %段3的直线方程
B3=subs(Bx3,y,Y);             %Bx3中的y用x的表达式代替
B31=diff(B3,x);
B32=B31*B31;
B33=sqrt(1+B32);
B34=Bx3*B33;
IB3=int(B34,x,x3,x4)       %积分区间确定
回复
分享到:

使用道具 举报

发表于 2007-3-18 10:49 | 显示全部楼层
建议弄不明白的时候,自己尽量尝试去调试一下,F10单步运行看看,到底是哪一行程序有问题。
  你的程序里有符号运算,而符号运算是非常占用时间和资源的,尽量不要用。
  刚试了一下你的程序,下面这几行程序占了大部分的时间:
    B31=diff(B3,x);
    B32=B31*B31;
    B33=sqrt(1+B32);
    B34=Bx3*B33;
    IB3=int(B34,x,x3,x4)       %积分区间确定
  建议换一种方法来计算该积分

评分

1

查看全部评分

 楼主| 发表于 2007-3-18 20:56 | 显示全部楼层
我把B34=Bx3*B33;
IB3=int(B34,x,x3,x4)  
改为B35=inline('B34','x');
IB3=quad(B35,x3,x4)  了,怎么还是不出结果啊?
发表于 2007-3-20 09:35 | 显示全部楼层

回复

记得以前我已回复过,由于符号矩阵较大,建议改用数值计算.
将 syms x y 语句去掉,改用 x,y的数值向量运算试试.
 楼主| 发表于 2007-3-20 19:38 | 显示全部楼层
不好意思,请教下楼上如何改呢?谢谢

========================
改用 x,y的数值向量运算试试
自己先试试吧.
by xjzuo
========================

[ 本帖最后由 xjzuo 于 2007-3-20 23:12 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-12 13:17 , Processed in 0.063670 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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