MATLAB编写一段小程序,帮忙

电子表格中有两列,第一列为X坐标,第二列为Y坐标,总共有很多行,也就是说很多点
现在要计算这些点任意两点间的距离。距离表存入另外一个表中
用MATLAB怎么编写出一个函数?
帮忙写个程序!!
编写一个M文件,用于调用,谢谢你
我的电子表格是XLS格式的。

要函数文件!!!!!!!!

function B=distanceab()
[file,path]=uigetfile({'*.xls','Excel文档'},'选择文件');
if file==0
return;
end
A=xlsread([path file]);n=size(A,1);
if n>362
msgbox('数据量太大,excel将无法保存!','警告');
end
B=[];h=waitbar(0,'数据处理中,请等待...');
for i=1:(n-1)
j=(i+1):n;
B=[B;[repmat(A(i,:),n-i,1),A(j,:),sqrt(sum((repmat(A(i,:),n-i,1)-A(j,:)).^2,2))]];
waitbar(i/(n-1),h,'数据处理中,请等待...');
end
waitbar(1,h,'数据处理完毕!');
pause(.5);
delete(h);pause(eps);
if n>362
return;
end
[file,path]=uiputfile({'*.xls','Excel文档'},'输出结果');
if file
xlswrite([path file],B,strcat('A1:E',num2str(size(B,1))));
else
msgbox('你放弃了保存','消息框');
end
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-18
大概就是这样子了。xlsread和xlswrite命令格式忘记了。家里电脑没装matlab调试不了。,大概就是这样了,随便再调调就可以了。
%1 读入文件数据
X = xlsread("xls文件路径名",表单名,(A1:A25535));
Y = xlsread("xls文件路径名",表单名,(B1:B25535));
% 表单名就是打开xls文件下面那个sheet1,第三个是读取范围。

%2 计算两两点之间举例,调用一个子函数。
distance = [];
for i = 1:length(X)
for j = 1:length(Y)
distance(i,j) = caculDistance(i,j,X,Y);
end
end

% 3 将结果写入文件,新建一个名叫result的表单。
xlswrite("xls文件路径名",result,distance);

%% 计算两点举例子函数,让主程序清晰一些。
function distance = caculDistance(i,j,X,Y)
x1 = X(i);
y1 = Y(i);
x2 = X(j);
y2 = Y(j);
distance = sqt( (x1-x2)^2 + (y1 - y2)^2 );
end