Creation of edge set for a specific perfect matching number

1 view (last 30 days)
N = input('N='); %Number of vertices
J = 1:2:N-1 %odd numbers to N-1
P = [1, cumprod(J)] %Double Factorial
V = 1:1:N %available vertices
for j = J
q = (N+1-j)/2
I = ceil(I/P(:,q))
E(j) = V(end) %issue1
V(end)=[]
v(i) = ? %issue2
V(1) = []
I = I-((i-1)*P(:,q))
end
In the code above, specifically in the for loop, after i define I, i want to assign and remove the largest value in the array, and similarly to the smaller value. Then subtract to get an index in subgraph with 2 vertices removed. I am not familiar with the syntax for this.

Answers (1)

Jaynik
Jaynik on 27 Sep 2024
Hi Anthony,
To select and remove the largest value from the V array in the for loop, you can do the following:
[maxValue, maxIndex] = max(V);
E(j) = maxValue;
V(maxIndex) = [];
You can do a similar step for the smallest values using the min function.
At the end, you can adjust the I as follows:
I = I - ((minIndex-1) * P(:,q));
Hope this helps!

Categories

Find more on Mathematics in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!