導航:首頁 > 程序命令 > 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導入數據命令相關的資料

熱點內容
跨雲伺服器哪個平台最好 瀏覽:882
網路上找的資源該如何解壓 瀏覽:753
視頻編譯是什麼意思 瀏覽:371
時代峰峻app怎麼用不了 瀏覽:860
泰拉瑞亞伺服器怎麼查看代碼 瀏覽:136
牛奶壓縮面膜怎麼做 瀏覽:379
游戲源碼都有哪些組成 瀏覽:537
伺服器hdmi為什麼會自檢失敗 瀏覽:831
蘋果文件夾窗口 瀏覽:628
java中的增刪改查 瀏覽:728
基岩版hypixel伺服器地址是什麼 瀏覽:731
騰訊雲的伺服器安全嗎 瀏覽:323
360手機微信視頻在哪個文件夾 瀏覽:808
基因傳pdf 瀏覽:900
騎鵝app哪個好 瀏覽:549
sevlte源碼分析 瀏覽:468
apk反編譯出來js文件亂碼 瀏覽:197
貴陽市有多少雲計算伺服器 瀏覽:836
下載源碼代碼島手機版20 瀏覽:154
python生成好看報表 瀏覽:327