【Matlab】存储变量,存储中间过程矩阵,动态进行生成销毁变量 保存成.txt,.exl,.dat,mat都可以了,今天实现了这些操作


今天通过天使一个程序,学习了许多关于matlab的使用的技巧,记录一下,希望以后后可以用得到,好的,
使用matlab存储变量,存储中间过程矩阵,动态进行生成销毁变量
保存成.txt,.exl,.dat,mat都可以了,今天实现了这些操作
FrontNo
save(‘D:\opencv\example.mat’,‘FrontNo’);
‘-append’

在这里插入图片描述

Matlab实现数字1到字符串0001的转换

问题描述:最近在批量修改文件名的时候需要确保文件名格式为0001.jpg、0002.jpg、…、1345.jpg。所以需要将数字1转换为字符串0001,对于这种批量处理的方法,记录一下实现代码,备忘。

   方法一:imagename=num2str(1,'%04d');imagename=strcat(imagename,'.jpg')

   输出结果为:imagename =0001.jpg。

   方法二:imagename=sprintf('%04d',1);imagename=strcat(imagename,'.jpg')

   输出结果为:imagename =0001.jpg。

   注意:'%04d'中的0不能漏,可以将4改为你想要的字符串长度。

   之前还用for循环和if判断来实现,很麻烦,最后上面两种方法很简单实现了。

Matlab中通过循环for来对变量命名。

b=zeros(100,40,50);

for n=1:10

    eval(['a',num2str(n),'=','b(n:10:100,:,:)',';']);

end

matlab例子,把变量存入到一系列有规律文件名的文件中

for n=1:10
save([‘D:\A\kchange’,num2str(n),’.mat’],[‘k’,num2str(n)]);
end

matlab 如何以动态的变量名保存变量

%%% 方法一 用sprintf与eval组合
%%% 可以边生成代码边执行,及其灵活
%%% 但在次数很多的循环体内部尽量不要使用
%%% 因为eval需运行时编译,速度不快
for i=3:5
s=sprintf(‘m%d=magic(%d);save hujia.mat m%d;’,i,i,i); % 对i的每个取值生成一行不同的代码
eval(s); % 执行生成的代码
end
%%% =============== hujia2.m ========================
%%% 方法二 用函数的方式使用save就行了
%%% 在matlab里,像save,print等都有两种使用方式:
%%% 函数形式: save(filename,varname)
%%% 例:x1=rand(3,3);save(‘hujia.mat’,‘x1’);
%%%
%%% 命令形式: save filenam varname
%%% 例:x1=rand(3,3);save ‘hujia.mat’ x1
m=[];
for i=3:5
m(i)=magic(i);
s=sprintf(‘m(%d)’,i);%生成变量名
save(‘hujia.mat’,s);
end
eval([‘a’,num2str(n),’=’,‘b(n:10:100,:😅’,’;’]);

matlab如何删除变量

清除当前工作空间全部变量:clear;
清除当前工作空间某些变量:clear 变量名1 变量名2
…;
清除当前工作空间除某些变量之外所有变量:clearvars
-except 变量名1 变量名2 …;
可按照一定的命名规则清除变量,如清除以字母a开头的全部变量:clear
a* 。

matlab中字符串用单引号使用

当以函数的形式使用时,要用括号并加引号,比如:load( ’ data.mat ’ )
如果你想在单引号中嵌套单引号,被嵌套的单引号要用连续两个单引号表示
例如:要赋值It’s a black cat给a,就要写成这样的:a=‘It’‘s a black cat’

end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章