| 查看: 2422 | 回复: 6 | ||
| 【悬赏金币】回答本帖问题,作者小虫飞更高将赠送您 5 个金币 | ||
[求助]
matlab光强编程,提示矩阵维度 必须一致,不知是哪里出现的问题,代码在下面 已有1人参与
|
||
|
代码如下: clear all; k=10; f=1004.8; x=-1.5:0.01:1.5; y=-1.5:0.01:1.5; [x1,y1]=meshgrid(x,y); r=sqrt(x1.^2+y1.^2); Phi=atan(y1./x1); I=(i*k*exp(i*(pi/2+k*f)).*sin(2.*Phi).*quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r.*sin(theta)),2.23,pi)).^2; subplot(2,1,1); mesh(x1,y1,I); axis([-1.5 1.5 -1.5 1.5 0 1]); subplot(2,1,2); subimage(I*255); axis off; 出现错误如下: 矩阵维度必须一致。 出错 formula>@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r.*sin(theta)) 出错 quadl (line 62) y = feval(f,x,varargin{:}); y = y( .';出错 formula (line 9) I=(i*k*exp(i*(pi/2+k*f)).*sin(2.*Phi).*quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r.*sin(theta)),2.23,pi)).^2; |
» 猜你喜欢
咸菜
已经有5人回复
有谁可曾问过你过的还好吗?
已经有5人回复
sci论文二审求助
已经有3人回复
今年也是没消息就是没中么
已经有11人回复
函评
已经有7人回复
以CTAB等为模板水热合成的产物,如何除去模板?
已经有6人回复
申博
已经有3人回复
前几天时间戳更新了
已经有14人回复
买卖文章的刷屏了!
已经有3人回复
[急招]吉林大学招收26年9月入学考核制博士生1名,截止今晚24点前
已经有4人回复

2楼2020-09-08 19:50:51
送红花一朵 |
你好,我按照你的编程输入了下,还是有提示错误,请你在帮我解答下, clear all; k=10; f=1004.8; x=-0.5:0.01:0.5; y=-0.5:0.01;0.5 [x1,y1]=meshgrid(x,y); r=sqrt(x1.^2+y1.^2); [K,L]=size(r); for m=1:k for n=1:L Phi=atan(y1(n)./x1(m)); r0=r(m,n); eq=quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r0.*sin(theta)),2.23,pi); I0=(i*k*exp(i*(pi/2+k*f))*sin(2*Phi)*eq).^2; I(m,n)=I0; end end Re=real(I);Im=imag(I); s.FaceColor='flat'; %subplot(2,1,1); C=rand(K,L); mesh(x1,y1,real(I).C);hold on 提示错误如下: formula ans = 0.5000 未定义与 'double' 类型的输入参数相对应的函数 'Besselk'。 出错 formula>@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r0.*sin(theta)) 出错 quadl (line 62) y = feval(f,x,varargin{:}); y = y( .';出错 formula (line 13) eq=quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*Besselk(2,k.*r0.*sin(theta)),2.23,pi); >> |
3楼2020-09-11 11:15:13
|
刚我又调试了下,出现如下错误,您再帮我看下: k=10; f=1004.8; x=-0.5:0.01:0.5; y=-0.5:0.01:0.5; [x1,y1]=meshgrid(x,y); r=sqrt(x1.^2+y1.^2); [K,L]=size(r); for m=1:k for n=1:L Phi=atan(y1(n)./x1(m)); r0=r(m,n); eq=quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*besselk(2,k.*r0.*sin(theta)),2.23,pi); I0=(i*k*exp(i*(pi/2+k*f))*sin(2*Phi)*eq)^2; I(m,n)=I0; end end Re=real(I);Im=imag(I); s.FaceColor='flat'; %subplot(2,1,1); C=rand(K,L); mesh(x1,y1,real(I).C);hold on axis([-1.5 1.5 -1.5 1.5 0 1]); subplot(2,1,2); subimage(I*255); axis off 提示错误: 定义变量 "real" 或类 "real"。 出错 para (line 22) mesh(x1,y1,real(I).C);hold on |
4楼2020-09-11 15:30:28

5楼2020-09-11 22:54:25
6楼2020-09-13 12:38:15
|
定义变量的问题解决了,但是又遇到了一个索引函数编制的问题,问题在代码后面: clear all; close all; clc; k=10; f=1004.8; x=-0.5:0.01:0.5; y=-0.5:0.01:0.5; [x1,y1]=meshgrid(x,y);%直角坐标转化为极坐标 r=sqrt(x1.^2+y1.^2); [K,L]=size(r); for m=1:k for n=1:L Phi=atan(y1(n)./x1(m)); r0=r(m,n); eq=quadl(@(theta)(1+cos(theta))./(1-cos(theta)).*sin(theta).*besselk(2,k.*r0.*sin(theta)),2.23,pi); I0=(i*k*exp(i*(pi/2+k*f))*sin(2.*Phi)*eq).^2; I(m,n)=I0; end end Re=real(I); Im=imag(I); s.FaceColor='flat'; %subplot(2,1,1); C=rand(K,L); mesh(x1,y1,real(I).C); hold on ; axis([-1.5 1.5 -1.5 1.5 0 1]); subplot(2,1,2); subimage(I*255); axis off 错误: 不能使用 {} 或 . 索引为函数编制索引。 出错 para (line 25) mesh(x1,y1,real(I).C); |
7楼2020-09-13 20:38:56











.';
回复此楼