Creation of edge set for a specific perfect matching number

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.

Antworten (1)

Jaynik
Jaynik am 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!

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2020b

Gefragt:

am 4 Nov. 2020

Beantwortet:

am 27 Sep. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by