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);
这算是比较复杂的方法,我修改了一些小问题,做了一些改动