完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
例子:假设时间列向量[0.1 0.2 0.3 0.4 0.5]对应的数据是[1 2 3 4 5];而另一个时间列向量[0.05 0.1 0.15 0.2 0.25]对应的数据是[0.1 0.5 0.5 0.8 2]。如何将两个时间列向量对齐,形成一个[0.05 0.1 0.15 0.2 0.25 0.3 0.4 0.5],然后该新的时间列向量对应的数据分别为[NaN 1 NaN 2 NaN 3 4 5]和[0.1 0.5 0.5 0.8 2 NaN NaN NaN]。目的是想在同一个图上画出这两个数据关于时间的变化。 |
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
|
在Matlab中,您可以使用`interp1`函数将两个时间序列数据对齐到一个共同的时间向量。以下是如何实现的步骤:
1. 首先,创建两个时间向量和对应的数据向量: ```matlab t1 = [0.1 0.2 0.3 0.4 0.5]; y1 = [1 2 3 4 5]; t2 = [0.05 0.1 0.15 0.2 0.25]; y2 = [0.1 0.5 0.5 0.8 2]; ``` 2. 创建一个新的时间向量,包含两个时间向量的所有唯一值,并按升序排序: ```matlab t_common = sort(unique([t1 t2])); ``` 3. 使用`interp1`函数将两个时间序列数据插值到共同的时间向量上: ```matlab y1_interp = interp1(t1, y1, t_common, 'linear', 'extrap'); y2_interp = interp1(t2, y2, t_common, 'linear', 'extrap'); ``` 4. 将插值后的数据合并成一个矩阵,以便在同一个图上绘制: ```matlab data = [y1_interp, y2_interp]; ``` 5. 使用`plot`函数绘制两个数据关于时间的变化: ```matlab plot(t_common, data); xlabel('Time'); ylabel('Data'); legend('Data 1', 'Data 2'); ``` 这样,您就可以在同一个图上绘制两个数据关于时间的变化,并且它们已经对齐到一个共同的时间向量上。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
请问simulink的s-function模块如何添加多输入输出接口
2213 浏览 2 评论
1859 浏览 3 评论
使用simulink进行三相短路故障分析时,各参数应该如何设置
2443 浏览 1 评论
想请教一下图中是simulink的什么模块,需要这种三段斜率函数模块但没找到在哪
2492 浏览 1 评论
3397 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-27 05:30 , Processed in 0.401303 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号