matlab如何把变量存为txt文件路径,matlab中txt文件赋值及添加路径的办法

matlab 中读取全是数字的txt文件并赋值给数组以及添加绝对路径的办法(用于uigetfile和fopen连用)

近日初学分子模拟,手上有一大堆数据,我首先想画出分子的位置,捣鼓了半天,总算搞出了一点点动静哈哈。

放出源程序

function position_plot

% input the filename and plot the 3D-position of the particles

%输入文件名并描出粒子的3D位置

disp('please choose the filename you want to plot');

[ filename,pathname]= uigetfile(' *.dat', 'choose the file you want to plot');

if pathname==0 %pathname返回0说明文件打开失败,可能是取消了,或是文件不存在等等原因

return %return用于退出整个程序

end

name =[pathname filename];

fid=fopen(name,'r');

[data,count]=fscanf(fid,'%f'); %count得到数据个数,data是列向量,用于存放所有数据

posit(count)=struct('x',[ ],'y',[ ],'z',[ ]); %构建含count个域的空结构数组

for i=1:(count/3)

posit(i).x=data(3*i-2+0);

posit(i).y= data(3*i-2+1);

posit(i).z= data(3*i-2+2); %循环赋值,每3个数据赋给一个域

plot3( posit(i).x, posit(i).y, posit(i).z, 'ro' );

hold on; %描一次用一次hold on,以保证每个点都描出来,否则描的永远是最后一个点

end

需要特别强调的是,fid=fopen(name,'r'); 这句fopen()函数中的"object"参数(就是name变量)是路径的时候,除非你自己输入绝对路径,否则用uigetfile()函数得到的 pathname是不包括文件名的路径例如(比相对路径能"绝对"点,暂且称为"准绝对"路径吧;至于uigetfile()函数怎么用,看看help文件吧,这里就不多说了),就像下面这样(有缩进哈)

>> disp('please choose the file you want to plot');

[ filename,pathname]= uigetfile('*.dat', 'choose the file you want to plot');

please choose the file you want to plot

>> pathname

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值