Creating specific vertical matrix

Hello I want to create vertical matrix with one column. The idea is that:
-i need to define how many rows i want (time),
-the matrix will be a rectangle signal that i use in simulink
-the signal goes for example: 20 rows of 0, 50 rows of some value, 10 rows of 0 and so on.
I managed to do this like that
t= [1:tmax]';
x1= zeros(99,1);
x2= -0.0015* ones(600,1);
x3= zeros(tmax-99-600,1);
x=vertcat(x1,x2,x3);
But I am sure that the easier way exist, especcially that later I want to use variables to create this matrix and the signal can have unspecified number of states.

回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2016 年 8 月 25 日

0 投票

t = [100,600];
x = zeros(tmax,1);
x(t(1):(sum(t)-1)) = -.0015;

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

質問済み:

2016 年 8 月 25 日

回答済み:

2016 年 8 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by