2-D colormap (loading .txt files)
조회 수: 3 (최근 30일)
이전 댓글 표시
I have the following code from my last assignment. The file names and types have been changed. The files like kx 0.txt and kx 10. txt have two lines of data like this
7.49481e+14 0.807996
7.39316e+14 0.798932
7.29422e+14 0.838482
7.1979e+14 0.868927
7.10409e+14 0.880881
I want to plot the first column of data as my y axis, and second column as my x axis, and to combine all files into a 2-D colot map like this (I will change this wavelength in the picture to frequency, and divide the numbers in the first column by 10^12,).
How I may change the lum.y0 into my first column of data and lum.x0 into my second column of data?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/986765/image.jpeg)
filenames={'kx 0.txt','kx 10.txt', 'kx 15.txt','kx 20.txt'} % here i have 50 .txt files like this
for i=1:numel(filenames)
load(filenames{i});
%print(filenames{i});
t_data(:,i) = lum.y0
end
angle = linspace(0,0.5,51);
wav_leng = lum.x0.';
figure;
imagesc(angle,wav_leng,t_data); colormap turbo; axis xy;
xlabel('kx')
ylabel('Freqency (THz)')
댓글 수: 5
Katherine Zheng
2022년 5월 3일
Hi Chalisa, your datais quite interesting.From 0-36, the data length is 402 and from 37 onwards, it becomes 201. I am not sure what you are looking for, to extract all the txt file into one matrix?
답변 (1개)
KSSV
2022년 5월 4일
thepath = 'kx values\*.txt' ;
files = dir(thepath) ;
N = length(files) ;
data = cell(N,1) ;
for i = 1:N
file = fullfile(files(i).folder,files(i).name) ;
data{i} = importdata(file) ;
end
data = cell2mat(data) ;
x = data(:,2) ;
y = data(:,1) ;
댓글 수: 4
KSSV
2022년 5월 5일
It seems, the text file which you are reading has only one column. Check the text file, which shows this error.
참고 항목
카테고리
Help Center 및 File Exchange에서 Green에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!