MATLAB实用命令

前言

总结MATLAB常用命令


一、绘图

1.标注文字 text

text(x,y, str) , x,y 为坐标, str为字符串。
如果str中含有变量,用num2str( )函数
如:

str=['sin(2)=' num2str(sin(2))];

matlab num2str怎么设置小数点位数
设置位数和换行,num2str(num, ‘%1.2f’) , { [ 第一行] , [第二行] }, 如:

str={ [ '\pi=' num2str(pi,'%1.2f') ] ,
[ '2\pi=' num2str(2*pi, '%1.2f') ] } ;

2.图例 legend

‘position’ 设置位置
MATLAB中legend位置
legend高级用法

h1 = plot(x1,y1)
h2 = plot(x2,y2)
h3 = plot(x3,y3)
legend([h1,h2],'h1','h2') % 只对某几根曲线写图例

3.透明 alpha

h=surf(x,y,z);
alpha(z,0.5); % 0.5是系数,从0-1,越接近0越透明

4.图片保存(清晰度)

a>print: 可控制尺寸或分辨率
可直接查看参考页。

% 指定要保存的图像
fig=figure;
plot(1:10);
print(fig, filename);  % print(fig,filename,'-dmeta') , .emf格式
% filename: 字符串,可以是地址,如 ['D:/fig/' 'figname']
% 保存的结果会是.ps格式(打印机),点击会生成pdf文件
% 也可指定格式保存,如'-dpng','-deps'
% 以指定的分辨率保存图像

b>saveas: 使用150dpi的分辨率
c>另存为:按屏幕分辨率和屏幕大小生成图像。

5. 设置字体大小的常用命令

fig=figure(1); 
% 1. 图例 legend
leg=legend('name'); 
set(leg,'FontName','Times New Roman','FontSize',20);  
% 2. 坐标轴标签 label
xlabel('xlabel','FontName','Times New Roman','FontSize',20);  
% 3. 坐标轴刻度
set(gca,'FontName','Times New Roman','FontSize',18);  
% 4. 标记点  (其他blog摘抄)
plot(x,y,'--p','MarkerSize',10,'MarkerFaceColor','m','MarkerEdgeColor','b','LineWidth',1.5)
% 5. latex解释器
'Interpreter','latex'
% 6. 部分斜体
xlabel('x \rm{(m)}','FontAngle','italic'); % \rm{}包围的部分是整体

6. title

一件小事,title(‘title’,‘position’,[x,y]); %
当我想把标题放在图下面的时候,也可以用xlabel,不需要确定位置。
xlabel({ ‘xlabel’, ‘title’ });

7.设置主次刻度

ax = gca; % 获取当前坐标轴
% 坐标轴属性可见matlab文档 “Axes 属性”
ax.XLim = [0.5 2.5]; % 坐标轴范围
ax.XTick = [1 2];  % 刻度线位置
ax.XTickLabel = {'k1','k2'}; % 刻度线标签
ax.XMinorTick = 'on'; % 显示次刻度线
ax.XAxis.MinorTickValues = 0.5:1:6.5; % 次刻度线位置
ax.YMinorTick = 'on'; 

8.双坐标轴

二、输入输出

1. 文件夹

mkdir newdir 在当前目录下创建名为newdir的文件夹;
mkdir(newdir) 不同点在于文件夹名字是变量newdir的值,如newdir=‘data1’;

name='data';
str=[name '/fig'];
mkdir(str);

将在当前文件夹下产生/data/fig的路径,其中 / 和 \ 可以混用,没有区别。

rmdir dir 删除当前目录下名为dir的文件夹

2. 输入参数

input(’ ')

prompt='输入一个0~10的数\n';
num=input(prompt);

3. 读写excel表

xlswrite(filename, A, sheet, xlRange);
新建一个excel表,就用xlswrite(filename,1)
filename也是基于当前路径,如 filename= ’data/data.xlsx’
MATLAB生成excel表格
获取当前路径以及添加路径
matlab excel的sheet增加,重命名操作

4.设置函数输入变量的默认值

nargin 需要写很多判断语句,但是简单。
用 inputParser类 ,有点麻烦。

function a=findArea(width,varargin)
p=inputParser; % 创建inputParser对象p
% 类属性:查看 help inputParser
% 方法:addOptional 添加可选位置参数
% addParameter 添加可选形参的名称-% addRequired 添加必需的位置参数
% 注意调用函数的时候,先输入必需的参数值(required),然后是可选位置参数(optional),最后是任何名称-值对组
defaultHeight=1;
defaultUnits='inches';
defaultShape='rectangle';
expectedShapes={'square','rectangle','parallelogram'};

addRequired(p,'width',@isnumeric); 
% 必需的位置参数width,@isnumeric会检查输入是否为数值,如不能是字符
addOptional(p,'height',defaultHeight,@isnumeric);
% 可选的位置参数,有默认值
addParameter(p,'units',defaultUnits);
% 可选形参,有默认值
addParameter(p,'shape',defaultShape,@(x) any(validatestring(x,expectedShapes)));
% 可选形参,有默认值,且给出输入值的范围
% 至此,已设置好p
parse(p,width,varargin{:}); % 输入解析;函数的输入是width,varargin{:},解析并验证是否与p的设置匹配
a=p.Results.width.*p.Results.height;

举例:

>>findArea(4)
>> ans=4
>>findArea(4,2)
>> ans=8
>>findArea(4,'shape','square','units','m')
>> ans=4

5.保存数据为mat

matname = [curpath 'data/NEmat'];
save(matname, 'time','Poslist');
load(matname);

6.图片保存为视频

myVideo=VideoWriter('myVideo1.avi');
myVideo.FrameRate=25;
% 打开文件
open(myVideo);
pauseTime = time(2)-time(1);
for i = 1:m_t
	% 如果是plot的图像
	plot(x,y)
	pause(pauseTime);
	temp=getframe(gcf);
    frame=temp.cdata;
    writeVideo(myVideo,frame);
    % 如果是img
    frame = imread(imagepath);
    writeVideo(myVideo,frame);
end
close(myVideo);

三、函数

内联函数 ,查看help inline

理解为不用写function文件,直接在M文件中创建函数。

>>g=inline('t^2');
>>g(2)
ans=4

通过char(g)或者formula(g)将其转换为字符矢量。
argnames(g)查看变量名
可以直接指定多个输入参数(会自动捕捉小写字母构成的变量)

g=inline('sin(alpha*x)','x','alpha')

总结

(未完待续)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值