Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Dyuman Joshi
Dyuman Joshi il 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 il 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

Accedi per commentare.

Risposta accettata

Dyuman Joshi
Dyuman Joshi il 10 Apr 2022
Modificato: Dyuman Joshi il 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 Commenti
Dyuman Joshi
Dyuman Joshi il 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 il 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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operators and Elementary Operations 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