matlab向量化 什么意思,【 MATLAB 】向量化编程实践(一)

这篇博客介绍了如何利用MATLAB的向量化特性进行正弦函数求和运算,并对比了向量化编程与循环语句的实现方式。通过示例代码展示了两种不同的编程方法,最终绘制了函数图像,强调了向量化编程在MATLAB中的优势。
摘要由CSDN通过智能技术生成

MATLAB的特色就是向量化的编程,所以有必要练习如何使用向量化编程,用一个小例子开始,例如下面的正弦函数求和运算,要求画出图像。

b280408c821f5d659f38ee6fc04d8843.png

毋庸置疑,我们肯定可以使用循环等和其他语言一样的方法实现这个函数的求和运算,但这体现不出MATLAB的特色,所以呢?我们来一起推导下,如何使用向量化的编程:

3072a662e2bbc89709f663212354670c.png

上面的手稿也可以看到了,式子(1)就很适合直接用MATLAB编程了,那么我们写出这个代码来,最后我们需要对结果进行转置下,因为我想得到的结果值是一个行向量:

%try to use vector style to programming by using Matlab

clc

clear

close all

t = 0:0.01:1;

k = 1:2:5;

xt = sin(2*pi*t'*k)*(1./k');

xt = xt';

plot(t,xt);

xlabel('t');

ylabel('amplititude');

b8987be40db1b83522e5ff373d2baa4c.png

同样,我们也可以对式(1)两边同时转置:

4f5d02b5ec383c611629489206bdb619.png

这样对应的MATLAB代码为:

%try to use vector style to programming by using Matlab

clc

clear

close all

t = 0:0.01:1;

k = 1:2:5;

xt = (1./k)*sin(2*pi*k'*t);

plot(t,xt);

xlabel('t');

ylabel('amplititude');

4694fe8a5010578ef130ad3f3f9e49ca.png

最后,我给出使用循环语句实现这个例子的程序:

clc

clear

close all

t = 0:0.01:1;

xt = zeros(1,length(t));

for k = 1:2:5

xt = xt + (1/k)*sin(2*pi*k*t);

end

plot(t,xt);

xlabel('t');

ylabel('amplititude');

9fee0494a439eb0f98f66418e4333245.png

结果都是一样的。

本身暂时不涉及那种方式的优劣以及对于高效性的讨论。

通过上述例子,我希望自己能一步一个脚印的去学会使用向量化编程。

本文同步分享在 博客“李锐博恩”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值