对离散数据进行插值然后进行二重数值积分出错
对于二维离散数据,怎么积分好呢?我是先数据关于这两维分别进行插值,然后用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是存储数据的文件
=fscanf(fid,'%f%f',);
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 编辑 ] 原帖由 jojocleo 于 2007-7-16 13:11 发表 http://www.chinavib.com/forum/images/common/back.gif
对于二维离散数据,怎么积分好呢?我是先数据关于这两维分别进行插值,然后用dblquad进行积分,结果出现了错误,请帮忙指正一下,谢谢!
dblquad(@f_dy,0,pi,0,2*pi,1.e-6,@quadl);
function y=f_dy(theta_in,phi ...
看置顶贴,查找“常见错误”一贴,然后自己调试 不好意思,我刚才察看了一下常见错误http://forum.vibunion.com/forum/thread-46001-1-1.html,没有这种错误,能提示一下吗?谢谢了.. 原帖由 jojocleo 于 2007-7-16 13:35 发表 http://www.chinavib.com/forum/images/common/back.gif
不好意思,我刚才察看了一下常见错误http://www.chinavib.com/forum/thread-46001-1-1.html,没有这种错误,能提示一下吗?谢谢了..
错误虽没有,但是可以类推一下,反正原则就一条:就是只能自己调试 这个我知道,我只是想知道下你碰到过这种情况吗?这样做可行吗?dblquad能这样用吗?我是对这个命令不是很熟悉来咨询一下要是不可行就换方法了,谢谢!!
页:
[1]