|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
对于二维离散数据,怎么积分好呢?我是先数据关于这两维分别进行插值,然后用dblquad进行积分,结果出现了错误,请帮忙指正一下,谢谢!
dblquad(@f_dy,0,pi,0,2*pi,1.e-6,@quadl);
function y=f_dy(theta_in,phi_in)
if theta_in <= pi/2
fid=fopen('c:/2.txt'); % 2.txt是存储数据的文件
[a,count]=fscanf(fid,'%f%f',[37,inf]);
fclose(fid);
a=a.';
ff=10.^((a-max(max(a)))/20);
l=length(ff(:,1));
for i=1:l
theta1(i,1)=(i-1).*2; %theta向2度的间隔
end
for i=1:37
f_phi(1,i)=interp1(theta1,ff(:,i),theta_in);
phi1(1,i)=(i-1).*10;%phi向10度间隔
end
y=interp1(phi1,f_phi,phi_in); %通过插值可以求得任意theta_in和phi_in时的值
else
y=0;
end
运行出现错误
??? Subscripted assignment dimension mismatch.
Error in ==> f_dy at 17
f_phi(1,i)=interp1(theta1,ff(:,i),theta_in);
[ 本帖最后由 eight 于 2007-7-16 13:14 编辑 ] |
|