打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
重新学习MATLAB——相见恨晚的重要应用技巧

了解点儿MATLAB,知道它非常有用,但一直不太会用,如何快速掌握并运用它呢?

本专栏力争用最简洁的语言和逻辑,让您在最短时间内,学到教材课程中罕见的MATLAB运用技法,从新手迈向成手。

删除矩阵中的元素

例:

a=[0 1 2 3];

提问:如何删除a中最后一个元素?

>> a(end)=[]a = 0 1 2

提问:如何删去a中的偶数?

>> a(rem(a,2)==0)=[]a = 1 3

记录显示程序运行时间

tic; %开始计时%主程序fprintf('%s%d%s\n','运行时间:',round(toc),'s');

删去向量中重复元素

a=[1 2 3 2 3]

提问:如何删去向量中重复的元素?

>> a=unique(a)a = 1 2 3

删去矩阵中重复的列向量

a=[1 2 ; 3 4 ; 1 2 ]

提问,如何删去重复列向量?

>> a=unique(a,'row')a = 1 2 3 4

声明多个变量为同一个值

提问,如何声明 a,b,c,d,e,f 都为 zeros(1,2,3,4)?

>> [a,b,c,d,e,f] = deal(zeros(1,2,3,4))

判断矩阵为空

a=[1 2]

提问:如何判断矩阵 a 是否为空矩阵?

>> isempty(a)ans = logical 0

0 表示不为空,就是说变量a有值了。

M文件如何加密

提问:用M文件传递函数或脚本的话,代码算法直接就被别人看到了,如何能直接运行却不暴露代码呢?

方法:

将.m文件转换成.p文件,.p文件是一个.m文件的预解析版本(preparsed version),当你第一次运行程序时,MATLAB产生的中间文件,而第二次再运行就明显快了许多,就是因为直接运行了这个.p文件。

制作命令为:pcode (.m文件的名字)

1-0逻辑矩阵的灵活应用技法

{!-- PGC_COLUMN --}

1-0逻辑矩阵在MATLAB中有超强的应用,主要是因为1-0逻辑矩阵是可以作下角标的!

上个例子:

a=[1 2 3; 3 2 1]

提问,如何生成一个矩阵,尺寸与a相同,但是只有a中是2的部分显示为1?

>> a==2ans = 2×3 logical 数组 0 1 0 0 1 0

是的,就是这么简洁,a==2就可以!

那么,下面的问题就简单了,如何让a中为2的元素“单独”变为4呢?

>> a(a==2)=4a = 1 4 3 3 4 1

本质上,a==2在这里,充当的就是下角标的意义。

判断两向量完全相等

a=[1 2]; b=[1 3];

如果直接这样判断呢:

>> a==bans = 1×2 logical 数组 1 0

显然不行。应该这样:

>> all(a==b)ans = logical 0

all 代表所有元素。不过要注意判断矩阵时,并不能用all。

判断两矩阵完全相等

a=[1 2; 3 4]; b=[1 2 ; 3 4]

如果使用all,会是这样的结果:

>> all(a==b)ans = 1×2 logical 数组 1 1

这是因为all是面向向量的函数,它比较的是所有列。这里应该使用isequal。

>> isequal(a,b)ans = logical 1

这个函数可以用于向量么,当然!

矩阵周期重复

a=[1 2; 3 4]

如何让这个矩阵两个方向各重复两遍,形成一个4x4的矩阵呢?

>> repmat(a,2,2)ans = 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4

这里再介绍一点高级的,如果想形成如下矩阵,怎么做呢?

 1 0 2 0 0 0 0 0 3 0 4 0 0 0 0 0

观察上面矩阵,就是把a矩阵的每个元素都扩展成一个2x2的小矩阵了,这样实现:

>> kron(a,[1 0; 0 0 ])

很简单吧!

在图片中显示好看的公式

公式在MATLAB中都是难看的格式,如何能显示正常格式公式呢?

直接上图吧:

这样就可以在图片中显示好看的公式了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
矩阵和数组 (2)
Matlab 之 find()函数
5、矩阵及其运算
Matlab向量化优化小结
【ZZ】Matlab矩阵操作
Matlab运算符
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服