Creating specific vertical matrix

18 visualizzazioni (ultimi 30 giorni)
Jakub F
Jakub F il 25 Ago 2016
Risposto: Andrei Bobrov il 25 Ago 2016
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.

Risposte (1)

Andrei Bobrov
Andrei Bobrov il 25 Ago 2016
t = [100,600];
x = zeros(tmax,1);
x(t(1):(sum(t)-1)) = -.0015;

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by