1. 獲取matlab 中mat文件變數名字
遍歷變數(共有兩種方法)
首先進入.mat文件所在的目錄文件夾:
1、用load命令,具體為load+文件名.mat,就可以將mat中的數據放到工作空間里,然後查看修改就容易了;
2、用save命令,具體為save+文件名(自己取一個).mat,就可以將當前工作區間里的數據保存下來供調用了。
eg:
save
rot.mat;
load('rot.mat')。
2. matlab中如何保存數據到指定文件夾中
保存方法:
save(['E:Study', filename], 'data')
MATLAB save 函數用法及實例:
用法一:保存指定變數到當前工作目錄
在嘗試將A矩陣保存為MAT格式文件,文件名取為example,並且存儲起來,方便下次使用。
在matlab主窗口中輸入save example A,回車,會看到左側當前文件夾出現了相應的example,mat文件。
用法二:保存當前所有變數到當前工作目錄
此時MATLAB中有A和b兩個變數,試圖將其全部保存起來。
在MATLAB主窗口中輸入save example2 ,將其保存到example2.mat文件中。
用法三:保存指定變數到指定文件夾
試圖將以上矩陣A保存到D:\JINGYAN\example.mat中。
在MATLAB主窗口中輸入如下命令:save('D:\csdn\example.mat','A') 。
可以看到成功在csdn文件夾下生成了example.mat。
(2)matlab變數名和文件夾擴展閱讀:
一、在使用save函數時需要注意:
1、要保存的mat文件要寫出後綴。
2、要保存的變數名要用單引號引起來。保存所有變數到指定文件夾不在贅述,用命令save('D:\csdn\example.mat') 便可。
二、SAVE命令動態批量保存mat文件:
已知矩陣A,先將A矩陣的每一列進行拆分,分別保存在『1-points.mat』、『、2-points.mat』、『3-points.mat』中。
A=[
0.7329 -0.0000 19.2805;
-0.0000 0.7329 25.0947]
for i=1:3
chr=[num2str(i),'-points.mat']
b=A(:,i)
save(chr,'b')
end
3. matlab如何復制名稱含有變數的文件
假設sub_*_*這樣的文件就放在當前文件夾
4. matlab中如何保存數據到指定文件夾中
可能你會用到數字轉字元串命令
int2str 轉換整數成字元串
num2str轉換數成字元串
如,循環結構中:
for i=1:10
A=int2str(i);
save(['E:\Study\', A,'.dat'], 'data')
end
5. matlab的變數名和文件名有哪些規定
變數名和文件名不要重復就好了。
比如你有一個m文件名叫a.m,工作空間有個變數a,那麼你想執行a.m程序時輸入a+回車,結果只能顯示a變數的值。
其實新版本的MATLAB中,當你在編寫m文件時遇到了重名的情況,編輯器會用橘黃色波浪線標出來給你警告的,自己注意下就行了。
6. matlab如何實現通過變數來命名文件
我的方法:
mydir=uigetdir('d:','選擇一個txt文件保存目錄');%%%選擇txt文件的保存位置
% %%%可以選擇已存在文件夾,也可以新建文件夾,也可以
% %%%選擇D盤以外的文件夾,這里的d只起參考作用
str=input('str=','s'); %其中's'是輸入字元串的意思,即輸入txt文件名
fid=fopen([mydir '\' str '.txt'],'w');%%%以剛才的名字新建txt文件
a=[1 2 3;5 7 9];%%%要寫入的數據
fprintf(fid,'%d %d %d\n',a');%%%向txt文件寫入數據,如果不寫數據的話此步驟可以省略
fclose(fid);%%%關閉txt文件
樓上的方法我也看過了,有一些小問題,我修改了一下,另外個人覺得樓上的方法把簡單問題復雜化,很簡單的東西沒必要搞得那麼復雜吧,下面給出我修改後的樓上的方法
樓上修改後:
clear;clc;
file_name_tag=1;
err_file_name=['\/:*?"<>|',':*?「{}'];%文件名不應含有的字元,此處可以根據需要自己改
while file_name_tag
err_num=0;
% err_char=[];%%%
file_name=input('文件名:','s');
err_char=zeros(1,length(file_name));
for n=1:length(err_file_name)
if sum(file_name==err_file_name(n))
err_num=err_num+1;
%獲取輸入的文件名中非法的字元:
err_char(err_num)=err_file_name(n);%err_char為字元串,應用char()函數
end;
end;
if err_num
disp(strcat('文件名中含有非法字元:「',err_char(1:err_num),'」,請重新輸入!'));
elseif isempty(file_name)
disp('文件名不能為空')
else
file_name_tag=0; %跳出循環
end;
end;
file_dir_tag=1;%准備進入循環
while file_dir_tag
file_dir=input('路徑:','s');
if file_dir(end)~='/'||file_dir(2)~=':'||file_dir(3)~='/'
disp('錯誤的文件路徑,應以「X:/」開頭,並以「/」結束,請重新輸入!');
elseif isempty(file_name)
disp('路徑不能為空')
else
file_dir_tag=0;%跳出循環
end;
end;
file_format_tag=1;%准備進入循環
while file_format_tag
file_format=input('文件格式:','s');
if file_format(1)~='.'
disp('錯誤的文件格式,應以「.」開頭,請重新輸入!');
elseif isempty(file_name)
disp('文件格式不能為空')
else
file_format_tag=0;%跳出循環
end;
end;
wenjian=strcat(file_dir,file_name,file_format);%文件路徑、名稱和格式
% dos(['echo > ',wenjian]);%保存文件
fid=fopen(wenjian,'w');
a=[1 2 3;5 7 9];
fprintf(fid,'%d %d %d\r\n',a');
fclose(fid);
這算是比較復雜的方法,我修改了一些小問題,做了一些改動