24小时热门版块排行榜    

查看: 300  |  回复: 1
当前主题已经存档。

renren123123

金虫 (正式写手)

[交流] 【求助】在数据和文本混合的文件中如何用MATLAB选择性的输出相应数据

我目前又一个这样的文件:
# transiestac:: Copyright 2003, Atomistix A/S
# ---------------------------------------------------------
# transiestac:: Date                 ::  Tue Jan 13 18:05:11 2009
# transiestac:: Version              ::  1.3.0.4-2004-10-22
# transiestac:: User                 ::  fan@localhost.localdomain
# transiestac:: Number of processors ::  1
# transiestac:: Scratch directory    :: ./
# ---------------------------------------------------------
# transiestac:: Data parsed from file : setup-0.0.atk
# transiestac:: System default file   : /home/fan/install_D/share/transiestac/transiestac_defaults
# transiestac:: User default file     : NONE
# ---------------------------------------------------------
# Coordinates
# ---------------------------------------------------------
# ---------------------------------------------------------
System::Type                   TwoProbe
AtomList::Format               Ang
%block    TwoProbe::CentralAtomList
Au  11.39254  15.83311   7.06916
Au  12.83553  18.33243   7.06916
%endblock TwoProbe::CentralAtomList
TwoProbe::LeftElectrode::EquivalentCentralAtom 0
TwoProbe::LeftElectrode::EquivalentElectrodeAtom 0
TwoProbe::LeftElectrode::NumSurfaceAtoms 32
TwoProbe::LeftElectrode::Voltage 0.40000 eV
TwoProbe::RightElectrode::EquivalentCentralAtom 253
TwoProbe::RightElectrode::EquivalentElectrodeAtom 47
TwoProbe::RightElectrode::NumSurfaceAtoms 48
TwoProbe::RightElectrode::Voltage 0.00000 eV
TwoProbe::Molecule::GateVoltage 0.00000 eV
# ---------------------------------------------------------
# Simulation Params
# ---------------------------------------------------------
Simulation::Type             SingleConfiguration
# ---------------------------------------------------------
# ---------------------------------------------------------
# Method Params
# ---------------------------------------------------------
Method::Type             NumOrb
NumOrb::IonFileDirectory         /home/fan/install_D/share/transiestac/basissets/atk1.0/
NumOrb::BasisType                SZ
NumOrb::IonFile::Au               au_pz_sz.ion
NumOrb::IonFile::S               s_pz_sz.ion
NumOrb::IonFile::H               h_pz_sz.ion
NumOrb::IonFile::C               c_pz_sz.ion
NumOrb::IonFile::O               o_pz_sz.ion
NumOrb::XCFunctional             LDA-PZ
NumOrb::MeshCutoff               1360.59500 eV
NumOrb::MoleculePaddingFactor    0.10000
NumOrb::RadialSampling:R         0.00265 Ang
NumOrb::RadialSampling::MaxRange   10.58354 Ang
NumOrb::Tables::Cutoff             34014.87504 eV
NumOrb::Tables::NumPoints             1024
# ---------------------------------------------------------
# NumOrb:: IonFiles
# Symbol: Au          IonFile: /home/fan/install_D/share/transiestac/basissets/atk1.0/au_pz_sz.ion
# Symbol: S          IonFile: /home/fan/install_D/share/transiestac/basissets/atk1.0/s_pz_sz.ion
# Symbol: H          IonFile: /home/fan/install_D/share/transiestac/basissets/atk1.0/h_pz_sz.ion
# Symbol: C          IonFile: /home/fan/install_D/share/transiestac/basissets/atk1.0/c_pz_sz.ion
# Symbol: O          IonFile: /home/fan/install_D/share/transiestac/basissets/atk1.0/o_pz_sz.ion
# ---------------------------------------------------------
# TwoProbe Density Matrix Params
# ---------------------------------------------------------
TwoProbe::Contour::Circle::NumPoints            30
TwoProbe::Contour::RealAxis:ointDensity          0.02000 eV
TwoProbe::Contour::KTPoles::NumPoints           4
TwoProbe::Contour::FermiLine::NumPoints         10
TwoProbe::Contour::RealAxis::Eta             0.01000 eV
TwoProbe::Contour:eltaEMin 40.81785 eV
# ---------------------------------------------------------
# Left Electrode DM Params
# Left::Electrode::NumKPoints::A 1
# Left::Electrode::NumKPoints::B 1
# Left::Electrode::NumKPoints::C 200
# ---------------------------------------------------------
# Right Electrode DM Params
# Right::Electrode::NumKPoints::A 1
# Right::Electrode::NumKPoints::B 1
# Right::Electrode::NumKPoints::C 200
# ---------------------------------------------------------
# ---------------------------------------------------------
# SCF Parameters
#          dRho =          Difference in density matrix from previous step.
# ---------------------------------------------------------
# contour : Using temporary file : /home/fan/japan/px-so-p3/transiestac-contour-0.tmp
# ---------------------------------------------------------
# Atom : 209   -0.011   1.040   1.243
# Atom : 210    0.068  -0.156  -0.061
# Atom : 211   -0.048  -0.010  -0.031
# Atom : 212   -0.001  -0.020  -0.020
# Atom : 238    0.151   0.005   0.132
# MPSH:: NOTE:: Eigenvalues are relative to average fermi energy.
# ---------------------------------------------------------
#                  Eigenvalue (eV)
# ---------------------------------------------------------
#      0          -24.50460
#      1          -24.49566
#      2          -24.47050
#      3          -24.37929
#    419           26.54086

# ---------------------------------------------------------
%endblock Results::MolecularProjectedEigenvalues
%block    Results::TransmissionSpectrum
# ---------------------------------------------------------
# Analysis:: Transmission Spectrum
# Transmission Spectrum:: Average Fermi Energy: -2.72427 eV
# Transmission Spectrum:: Left Chemical Potential : -2.92428 eV
# Transmission Spectrum:: Right Chemical Potential : -2.52427 eV
# Transmission Spectrum:: Current : 2.47242 uA
# TransmissionSpectrum:: NOTE:: Positive current indicates current flow from the left electrode to
#                               the right electrode (i.e. electrons flow the right electrode to
#                               the left electrode.
# TransmissionSpectrum:: NOTE:: Incident energies are relative to average fermi energy.
# Energy (eV)           Transmission          DOS          PDOS          KX          KY          T0          T1          T2
# ---------------------------------------------------------
  -3.00000    0.097970      3884.2              51.657   0.00000   0.00000    0.097970    0.000000    0.000000
  -2.98000    0.281934      5987.8              62.537   0.00000   0.00000    0.281934    0.000000    0.000000
  -2.96000    0.128535      4184.7              60.467   0.00000   0.00000    0.128535    0.000000    0.000000
# ---------------------------------------------------------
%endblock Results::TransmissionSpectrum
# ---------------------------------------------------------
# ---------------------------------------------------------
# Start time                   ::  Tue Jan 13 18:05:11 2009
# End time                   ::  Wed Jan 14 15:33:06 2009
# ---------------------------------------------------------
如果我想只要红色、蓝色和紫色的三段内容,并将之分别放入三个不同的文件中,如A.dat ;T.dat; J.dat
怎么做?怎么编程实现啊?谢谢!!!

[ Last edited by sunxiao on 2009-3-9 at 08:31 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

★ ★ ★
sunxiao(金币+3,VIP+0):谢谢参与,常来交流 2-13 10:45
fopen fclose打开关闭文件
fread fwrite 读写文件
fgetl 语句读取特定行
strread识别字符串

%打开输入文件
fin=fopen('input.dat','r');
%跳过n行,n跟据实际需要而定
for i=1:n
fgetl(fin);
end
%读取n行
for i=i:n
temp=fgetl(fin);
text{n}=temp;
end
%关闭输入文件
fclose(fin);

%输出文件
fout=fopen('A.dat','w');
fwrite(fout,text{:});
fclose(fout);
2楼2009-02-13 10:27:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 renren123123 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见