帮忙看看
nr=44;ns=29;Lx=1.0;Ly=1.5;c=340;f=200;k=2*pi*f/c;
for r=0:1:nr
k(r)=r*pi/Lx; %求k(r,x),x坐标
k'(r)=sqrt(k^2-k(r)^2); %求k(r,y),y坐标
bo(r)=cos(k(r)*x)exp(-i*k'(r)*y);
bo'=zeros(1,nr);
bo'(1,r)=bo(r);
end
??? k'(r)=sqrt(k^2-k(r)^2); %求k(r,y),y坐标
|
Error: Unbalanced or misused parentheses or brackets.
哪位大狭能告诉我这怎么回事,该怎么改吗?谢谢 有很多常识性的错误。变量命名,变量名中可包含字母、数字、下划线,但是标点不能用。 你这存在几个语法错误:
1. k'在Matlab中表示的是转置,建议换一个字母表示,bo'也是同样道理;
2. bo(r)=cos(k(r)*x)exp(-i*k1(r)*y) 中存在语法错误,少了*;
3. bo'(1,r)=bo(r)表示的是什么意思,
还有一些………………
总之,这段程序错误比较多,建议楼主多看看基本的知识。
回复
请先把问题讲清楚一些.另: x,y未定义,是要作为符号变量吗? 大概猜了一下意思, 不知向量函数bo是否是你所求.
顺便也优化了一下程序:
%%%%%%%%%%%%%
nr=44;
ns=29;
Lx=1.0;
Ly=1.5;
c=340;
f=200;
k=2*pi*f/c;
syms x y
r=0:nr; %%%按原意, 可能应为nr-1
k1=r*pi/Lx;
k2=sqrt(k^2-k1.^2);
bo=cos(k1*x).*exp(-i*k2*y);
%%%%%%%%%%%%%%%%%%%%%%%%
%%%再打印向量函数的前几个分量图形看看
ezplot(bo(1))
figure
ezplot(bo(2))
figure
ezplot(bo(3)) %%%似乎越来越奇怪
%%%%%%%%%%%%%%%%%%%%%
建议还是把问题用word文档上传一下.
[ 本帖最后由 xjzuo 于 2007-1-18 19:50 编辑 ] 我的意思是形成一个1行nr列的矩阵,命名为bo,但其中每个元素是由循环产生的bo(r)组成的,请教各位那该怎么改? 请看仔细看5楼贴,已经完全按照你的意思写了,只不过用向量代替了循环。 谢谢,特别感谢五楼的xizuo,新手有什么不会的还请多指教
页:
[1]