導航:首頁 > 程序命令 > matlab導入數據命令

matlab導入數據命令

發布時間:2023-02-11 20:09:29

❶ matlab導入dxf數據

MATLAB 如何導入.txt文本
在matlab GUI的學習中,需要導入各種格式的.txt文件,心血來潮想總結一波。
首先,利用uigetfile選擇文件位置,代碼命令如下:

[filename, pathname] = uigetfile({'*.xls;';'*.txt';'*.xlsx;'; }, '導入數據',...
'MultiSelect','off'); % 不允許同時選擇多個文件
if isequal(filename,0)
disp('User selected Cancel')
else
disp(['User selected', fullfile(pathname, filename)]) %當返回了一個文件的時候,可以用fullfile將路徑和文件名組合起來
end
登錄後復制
在此列舉一種比較復雜的情況,有中文表頭的數據文件(在此列舉滾動軸承的信號數據,數據量比較大):

MATLAB 導入.txt文本的幾種方式:
1.fopen搭配textscan
file=fullfile(pathname, filename); % 導入.txt文件
f=fopen(file); %以只讀模式打開混合格式文本文件
dt=textscan(f,'%s'); %採用textscan 讀取數據
登錄後復制
對於數據量大的文本文件推薦使用textscan,不推薦使用textread函數讀取數據。
在此種情況下,導入的數據格式如下:

可以自行調整得到文本及數據。代碼如下(可能不甚高明,歡迎小夥伴指教):
因為涉及到cell型數據向double類型的數據轉換,略有一丟丟麻煩。
FaultLayer=dt{1,1}(1:f);
A=transpose(str2num(char(dt{1,1}(f+1:end))));
for ilength=1:(length(dt{1,1})/f-1)
data(ilength,1:4)=A((ilength-1)*f+1:ilength*f);
end
登錄後復制
得到結果如下:
2.利用impordata導入數據
datatable = importdata(file); %載入txt數據(只導入數據)
data = datatable.data; %讀取非元胞的數據
登錄後復制
此代碼只導入數據,格式與.txt文本文件相同,與上一方法經過轉換後得到的格式相同,如下圖所示,對於只導入數據的文本文件十分簡便。
3.採用load函數
貌似只能導入數據文件,這個不是十分清楚。

file=fullfile(pathname, filename); % 導入.txt文件
num=load(file) ;
[m,n]=size(num);
登錄後復制
導入的數據如下圖所示:

最後提醒一點,當導入.txt文本時,中文出現亂碼時,在前面添加以下代碼即可解決。
feature('DefaultCharacterSet', 'UTF8'); % 使得matlab支持utf-8編碼
登錄後復制
另外,我之前編寫GUI代碼的時候,對於可以導入.txt和.xls的多種文件格式的處理感到十分疑惑,具體的數據處理並不相同,如何才能區別導入的是何種文件呢?最後我瞎搞,弄了一個復雜的方法解決,希望有小夥伴告訴我怎麼解決(期待.jpg)

if isempty(findstr(filename,'.txt'))==0 % 為空,結果為1
feature('DefaultCharacterSet', 'UTF8'); % 使得matlab支持utf-8編碼
file=fullfile(pathname, filename); % 導入.txt文件
f=fopen(file); %以只讀模式打開混合格式文本文件,列數
dt=textscan(f,'%s'); %採用textscan 讀取數據
FaultLayer=dt{1,1}(1:f);
A=transpose(str2num(char(dt{1,1}(f+1:end))));
for ilength=1:(length(dt{1,1})/f-1)
data(ilength,1:4)=A((ilength-1)*f+1:ilength*f);
end
flag_load=true;
else
if (isempty(findstr(filename,'.xlsx'))==0||isempty(findstr(filename,'.xls'))==0 )
[num,txt,raw] = xlsread(filename,-1); %導入.xlsx文件 或.xls文件
[m,n]=size(num);
flag_load=true;
else
string=strcat(pathname,filename);
errordlg(string+"讀取失敗,請檢查文件格式!",'錯誤提示');
end
end
登錄後復制

閱讀全文

與matlab導入數據命令相關的資料

熱點內容
vr怎麼看視頻演算法 瀏覽:84
手機app如何申報個人所得稅零申報 瀏覽:690
如何截獲手機app連接的ip 瀏覽:330
冰箱壓縮機是否需要電容 瀏覽:344
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:656
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758
pdf怎麼單獨設置文件夾 瀏覽:474
業務邏輯程序員 瀏覽:659
addto新建文件夾什麼意思 瀏覽:160
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:464
java線程安全的方法 瀏覽:952
重復命令畫梯形 瀏覽:166