Generates 1xN vector (row), symbol values A0 and A1

1 view (last 30 days)
Hello,
I have a problem. I have an project and i want to:
Generates 1xN vector (row), symbol values A0 and A1, where A0=-A1 and A0=2, p0 is the probabilty to have A0 and is p0=0.5
I have also to replicate first row with N values M times.Each column in the MxN matrix has identical value. I am facing a real problem and i don't know how to do it exactly and correclty.
thank you very much in advance.
  4 Comments
Dyuman Joshi
Dyuman Joshi on 10 Apr 2022
Follow up questions and comments -
  • Are A0 and A1, singular values or arrays?
  • "However, I want this vector to be created with some possibility. That is, p0 will be the probability that I have the value A0 and I want p0 = 0.5." > I am still not sure what these means.
  • You need to define only 1st row, rest you can replicate by using
repelem(y,1,M-1) %y is your initial row (1xN)
Sotiris Katsimentes
Sotiris Katsimentes on 10 Apr 2022
  • Yes A0 and A1 are singular values, for example A0=1 and A1=-1
  • In order to make it more understandable for example I want to create such a table. In each line of the vector I want to have an alternation of values A0 and A1, which in this example these values are -1 and 1. I want the probability p0 = 0.5 which means that in each row of the vector to have equal numbers A0 and A1, ie the probability of occurrence ρ0 = 1/2 and respectively ρ1 = 1/2
  • thank you very much for your help and idea

Sign in to comment.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 10 Apr 2022
Edited: Dyuman Joshi on 10 Apr 2022
A0=1; A1=-A0;
%N=input ('Enter a number \ n');
%check if N is an even number by using ifelse
N=8; %using a random value for example
M=7;
%this is for probablity 0.5
%I think you want all rows to be different so we won't use repmat/repelem
for i=1:M
z=randperm(N);
y(i,:)=A0*(rem(z,2)-(~rem(z,2))); %takes in consideration different values of A0
end
y
y = 7×8
-1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1 -1 1 1 -1
  3 Comments
Dyuman Joshi
Dyuman Joshi on 11 Apr 2022
You are welcome!
Since the probability is 50-50 it was easier to do. What I did is generate random permutation of 1 to N. There's a 50-50 chance that a random number from 1 to N will be even or odd. I utilized that. Hope this helps.
Sotiris Katsimentes
Sotiris Katsimentes on 11 Apr 2022
I have one more question. If i want to generate a vector row with A0 and A1 with this probability p0(for N values),and then replicate it in matrix for M samples, how i can do that ??
as you metioned before "replicate" will be done by "repelem(y,1,M-1) %y is your initial row (1xN)"
So i want to tell me if you know how i can generate the vector row with this feature

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!