MATLAB Practice questions solution
이전 댓글 표시
Hello all,
I am new to MATLAB and I am still trying to learn it by myself. I was trying to solve the questions posted by MATLAB. I know I didn't use the double function as suggested so please enlighten me with your ideas and let me know if i was at least close to what the problem is asking for:
Problem(link: https://www.mathworks.com/services/training/certification/ml-professional-exam/practice-test.html)
The provided text file (readings.txt) contains a timestamp broken up into year, month, day, hour, minute, second, and timezone components, as well as a reading from a sensor. Write a script that reads the data from the file using the textscan function.
The script must:
- Convert the timestamps into single numeric serial date numbers stored in a variable named dates
- Ignore the timezone component of the timestamp by not reading it into the workspace
- Place numeric values for the readings in a single array of type double with a variable name of readings
clc
clear all
fileID1 = fopen('readings.txt');
dates = textscan(fileID1, '%s %s %s %s %s %s %s %s');
fclose(fileID1);
whos dates;
celldisp(dates)
fileID2=fopen('readings.txt')
C=textscan(fileID2, '%q %q %q %q %q %q %*q %q');
fclose(fileID2);
whos C;
celldisp(C)
fileID3=fopen('readings.txt');
D=textscan(fileID3,'%*q %*q %*q %*q %*q %*q %*q %q');
fclose(fileID3);
whos D;
celldisp(D)
댓글 수: 1
DEEPAK RAJ B
2024년 1월 20일
add one section to the end of the script
답변 (3개)
Image Analyst
2021년 1월 3일
0 개 추천
Perhaps datenum()?
>> d=datenum(now)
d =
738159.473416505
댓글 수: 7
Ali Awada
2021년 1월 4일
Image Analyst
2021년 1월 4일
It turns complicated date formats into a floating point number, which is easier to sort. So it does this:
- Convert the timestamps into single numeric serial date numbers stored in a variable named dates
If you want more specific help, then attach the 'readings.txt' file which you forgot to attach. Because otherwise we really don't know what format your "timestamps" are in. There is a dizzying variety of time and date formats and functions. It can get really confusing.
Ali Awada
2021년 1월 5일
Image Analyst
2021년 1월 5일
You should have tried datenum like I suggested. I did and it seems to work fine:
t = readtable('readings.txt')
d = datenum(t.Year, t.Month, t.Day, t.Hour, t.Minute, t.Second)
readings = t.Reading
plot(d, readings, 'b.-', 'LineWidth', 2, 'MarkerSize', 30);
grid on;
title('Alis Homework', 'FontSize', 20);
xlabel('Date/Time Stamp', 'FontSize', 20);
ylabel('Reading', 'FontSize', 20);

Ali Awada
2021년 1월 10일
Image Analyst
2021년 1월 10일
Then just use the first 3 lines and skip the rest of the lines that have to do with plotting.
Ali Awada
2021년 1월 11일
Kazem Gheysari
2021년 8월 24일
편집: Kazem Gheysari
2021년 8월 24일
clear
fileID = fopen('readings.txt');
C_text = textscan(fileID,'%s',8,'Delimiter',' ');
C = textscan(fileID,'%f %f %f %f %f %f EST %f','Delimiter',' ','EmptyValue',-Inf);
fclose(fileID);
Y = C{1,1};
M = C{1,2};
D = C{1,3};
H = C{1,4};
MN= C{1,5};
S = C{1,6};
dates = datenum(Y,M,D,H,MN,S)
readings = C{1,7};
댓글 수: 1
Image Analyst
2021년 8월 24일
What is matlab1.com? (I did not click your link because there is no explanation)
syms y(t);
dsolve(diff(y)==y, y(0)==1, 'Expansion Point', 0)
댓글 수: 1
syms y(t);
dsolve(diff(y)==y, y(0)==1, 'ExpansionPoint', 0)
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!