初学matlab,问个基础的问题

初学matlab,问个基础的问题,第1张

主要是要知道有逻辑矩阵这个东西

t=linspace(0,3*pi,500)

t是长度为500的向量,第一个值是0,最后一个值是3*pi,中间是的等间距数

t<pi是个逻辑判断式,返回一个逻辑矩阵,这个逻辑矩阵的大小和t一致

对应t中元素符合判断式的单元将被置为1,代表逻辑真

对应t中元素不符合判断式的单元将被置为0,代表逻辑假

所以 t<pi 返回一个长度为500逻辑矩阵,1~167单元的值是1,其余为0

而 t>2*pi 同样返回一个长度为500的逻辑矩阵,334~500单元的值是1,其余为0

(t<pi)|(t>2*pi)是这两个矩阵对应位置单差戚元逻辑或,得到的还是长度500的逻辑矩阵

1~167单元的值是1,334~500单元虚则陵的值是1,其余位置为0

((t<pi)|(t>2*pi)).*y将盯核之前获得的矩阵.*y,就是将逻辑矩阵和数据y对应位置的元素相乘

得到的还是长度为500的矩阵,1~167和334~500单元的值和y相同,其余为0

正好相当于半波整流的效果

还有个简单点的,因为半波整流就是要保留大于0的数据,小于0的数据设为0,所以

简单用z=(y>0).*y就可以了

 30度的延迟是0.00166666666666666666666s,如果是0.00167,表示已经正确了,要是精度不够高,可以把时间精度扩大。

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大扰缺基数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算缓谨、绘制函数和数据、实现算法、创建用户界面、连接其他编扮余程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12462709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存