How to generate Data using for loop

3 次查看(过去 30 天)
I have the following code, i am entering value manually
i want to do it using for loop how can i do that and save data in 1x1000 in mat file
prfDS = [200 500 800 1000 800 900];
n_pulsesDS = [120 400 1200 1500 600 350];
prfDS(1:120) = 200
prfDS(121:520) = 500
prfDS(521:1720) = 800
prfDS(1721:3220) = 1000
prfDS(3220:3820) = 800
prfDS(3820:4720) = 900
scatter(1:length(prfDS),prfDS)
  1 个评论
Stephen23
Stephen23 2022-2-21
编辑:Stephen23 2022-2-21
The last interval shown in your example indexing is inconsistent with the provided data:
cumsum([120,400,1200,1500,600,350])
ans = 1×6
120 520 1720 3220 3820 4170

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2022-2-21
编辑:Stephen23 2022-2-21
The simple and efficient MATLAB approach would be to use REPELEM, for example:
val = [200,500,800,1000,800,900];
num = [120,400,1200,1500,600,350];
out = repelem(val,num)
out = 1×4170
200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
numel(out)
ans = 4170
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by