欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

disp语句怎么格式 matlab_Matlab使用技巧总结-1

发布时间:2025/3/15 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 disp语句怎么格式 matlab_Matlab使用技巧总结-1 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

抽空看了Matlab官方文档,并配合郭老师的课程,把Matlab语言系统梳理了一遍。先上资源:

bilibili良心搬运大法:

MATLAB_台大郭彦甫-视频教程

知乎盐选推荐基础教程:

MATLAB 2016_基础实例教程

以下记录了一些matlab的技巧。

【1】基础操作

1.1 命令行操作

  • whos:查看存在的变量名和形态
  • clear all / clear 变量名:清除全部/某变量
  • clc:清除命令窗口内容
  • close all:关闭画图窗口

1.2 输出精度:format +变量精度

  • format + long/short:64位/32位
  • format + Rat:分数
  • format + longE/shortE:64/32位科学计数法

1.3 vector/matrix

matlab的默认一维数据是列vector。所以对matrix的命令,返回值都和列相关。

A = [1 3; ...4 5; ...9 8] max(A):9 8 %查找列vector的最大值 sort(A): [] %每列vector升序排列 length(A): 2 %有几列vector

1.4 matrix基本运算

  • matrix对应元素加减乘除:+、-、 .* 、./
  • 单位阵:eye(n)
  • 零阵:zeros(n1,n2)
  • 全1阵:ones(m1, m2)

1.5 调试

  • 打印变量:disp()
  • “%%”代码分块,【run section】可以只运行某一个代码块。

【2】总结的技巧

2.1 pre-allocation提高运算速度

虽然matlab是动态语言,但是【预先分配变量】可以明显提高运算速度。

例如:section1中预定义了A = zeros() ,比 section2 的运算速度快了近40倍。

2.2 struct+cell 模态

【struct】

struct('fieldname', 'value'),和数据表很像,常用操作:

  • fieldnames (struct) 查找字段名
  • rmfield(struct, fieldname),删除字段名
  • isfield(struct, fieldname) 查找字段

【cell】

Acell{1,1} = [1 2 3], Acell{1,2} = 'abc'. Acell{1,3} = 1:1:10, Acell{1,4} = [].

cell本质是一个pointer, 因此可以存放不同形态的变量,可以参考C语言中的指针。

【struct + cell】

自己做实验采集的数据会面临数据按结构存储的问题。为了解决【每个subject实验中数据量不同,且每个实验样本数据的长度不一】等问题,我使用了struct嵌套cell的好办法:

Subject(1).Name = 'Liming'; Subject(1).Age = 26; Subject(1).Data{1,1} = {}; Subject(1).Data{1,10} = {}; % 10 trialsSubject(2).Name = 'Jenny'; Subject(2).Age = 30; Subject(2).Data{1,1} = {}; Subject(2).Data{1,6} = {};

2.3 数据IO

自己平时和. csv文件交互较多,matlab常用的csvread()只能读取number,无法读取header。为了保证读写的完整性,常用如下方法:

【Input】

importdata( 'file.csv' )

data存数据,textdata存header。

【Output】

利用底层的 fopen, fprintf, fclose组合进行操作。

x = 0:pi/10:pi; y = sin(x); fid = fopen('TestSin.csv','w'); fprintf(fid,['%s',',','%s','n'],'X','Y') % header for i = 1:11fprintf(fid, ['%f',',','%f','n'], x(i),y(i)); % number end fclose(fid);

2.4 cat() 数据拼接

【3】画图

3.1 plot

感叹Matlab画图的功能是真的强大!虽然看起来比较繁琐,但是捋清了显示一幅图像的过程,画图其实也是模块化步骤。

一张图被分为:Figure、Line、Decoration三个部分。

Figure Object包括:图片大小、位置等

Line Object包括:线条颜色、粗细等

Decoration Object包括:标题、标注等

gcf和gca句柄,利用get()函数查看可编辑参数;set()函数修改每个参数。

【Figure Object】

f = figure h = plot([1,2,3]); get(gcf); % figure object h; % line object get(gca) % decoration object

get(gcf)显示了figure object的所有参数:

set(gcf, 'para','state')可以调整任意参数。

【Line Object】

【Decoration Object】

3.2 Colormap

colormap()返回的是color矩阵,例如:a = colormap(hot)

hot/cool/gray/hsv是不同的色盘,选择不同的色盘可以返回对应的颜色矩阵。

3.3 图片输出

print(figure(1),'figure_name','-dpng','-r900')。其中:-dpng和-r900是格式和分辨率。

其他图片格式如下:

以上是我记录的编程技巧。如果想看更全面的学习笔记,我推荐一个CSND博主:

台湾国立大学郭彦甫Matlab教程笔记​blog.csdn.net

总结

以上是生活随笔为你收集整理的disp语句怎么格式 matlab_Matlab使用技巧总结-1的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。