this is the question i have. my instructor is not really helpful with this and i need help.

4 Commenti

the cyclist
the cyclist il 12 Feb 2024
Modificato: the cyclist il 12 Feb 2024
What you have posted is not a question; it is a homework problem.
People here will help, but they will not do your homework for you.
What have you tried? What is the "existing code"? (Please post it.) Where is your code? (Please post it.) Where are you stuck? What is it that you do not understand?
Gurpreet
Gurpreet il 12 Feb 2024
Modificato: Torsten il 12 Feb 2024
this is the code i have so far: as per my instructor:
% Function to generate n x n matrix with pseudo-random entries between 0 and 1
generateMatrix = @(n) rand(n);
% Parameters
delta_n = 200;
k_values = 1:10;
% Initialize arrays to store condition numbers
condition_numbers_A = zeros(size(k_values));
condition_numbers_B = zeros(size(k_values));
condition_numbers_C = zeros(size(k_values));
condition_numbers_D = zeros(size(k_values));
% Loop over k values
for k = k_values
n = k * delta_n;
% Generate matrix A
A = generateMatrix(n);
% Generate matrices B, C, D based on the rules
B = A;
C = A;
D = A;
% Modify elements based on rules
for i = 1:n
B(i, i) = 10;
C(i, i) = 20;
D(i, i) = 100;
end
% Calculate condition numbers
condition_numbers_A(k) = cond(A);
condition_numbers_B(k) = cond(B);
condition_numbers_C(k) = cond(C);
condition_numbers_D(k) = cond(D);
end
% Plot results using semilogy
figure;
semilogy(k_values * delta_n, condition_numbers_A, 'b', 'LineWidth', 2, 'DisplayName', 'A');
hold on;
semilogy(k_values * delta_n, condition_numbers_B, 'g', 'LineWidth', 2, 'DisplayName', 'B');
semilogy(k_values * delta_n, condition_numbers_C, 'r', 'LineWidth', 2, 'DisplayName', 'C');
semilogy(k_values * delta_n, condition_numbers_D, 'm', 'LineWidth', 2, 'DisplayName', 'D');
xlabel('Matrix Size (nk)');
ylabel('Condition Number (log scale)');
title('Condition Numbers of Matrices A, B, C, D');
legend('Location', 'Best');
grid on;
hold off;
it doesnt run however, and i am really confused
Torsten
Torsten il 12 Feb 2024
Works for me (at least up to k=10) (see above).
Gurpreet
Gurpreet il 12 Feb 2024
Spostato: Torsten il 12 Feb 2024
this is what im getting:
In untitled2 (line 32)
condition_numbers_A(k) = cond(A);
In untitled2 (line 33)
condition_numbers_B(k) = cond(B);
i ran it four times and then came to answers :(

Accedi per commentare.

 Risposta accettata

It appears to work. I ran it for only 2 values of k as it was timing out here in Answers when running with 20 values of k.
What do you mean "it doesn't run"? What are you seeing? Are you getting an error message? If so, cut and paste it here (all of the red or orange text in the command window.
% Function to generate n x n matrix with pseudo-random entries between 0 and 1
generateMatrix = @(n) rand(n);
% Parameters
delta_n = 200;
k_values = 1:2; % was 1:20
% Initialize arrays to store condition numbers
condition_numbers_A = zeros(size(k_values));
condition_numbers_B = zeros(size(k_values));
condition_numbers_C = zeros(size(k_values));
condition_numbers_D = zeros(size(k_values));
% Loop over k values
for k = k_values
n = k * delta_n;
% Generate matrix A
A = generateMatrix(n);
% Generate matrices B, C, D based on the rules
B = A;
C = A;
D = A;
% Modify elements based on rules
for i = 1:n
B(i, i) = 10;
C(i, i) = 20;
D(i, i) = 100;
end
% Calculate condition numbers
condition_numbers_A(k) = cond(A);
condition_numbers_B(k) = cond(B);
condition_numbers_C(k) = cond(C);
condition_numbers_D(k) = cond(D);
end
% Plot results using semilogy
figure;
semilogy(k_values * delta_n, condition_numbers_A, 'b', 'LineWidth', 2, 'DisplayName', 'A');
hold on;
semilogy(k_values * delta_n, condition_numbers_B, 'g', 'LineWidth', 2, 'DisplayName', 'B');
semilogy(k_values * delta_n, condition_numbers_C, 'r', 'LineWidth', 2, 'DisplayName', 'C');
semilogy(k_values * delta_n, condition_numbers_D, 'm', 'LineWidth', 2, 'DisplayName', 'D');
xlabel('Matrix Size (nk)');
ylabel('Condition Number (log scale)');
title('Condition Numbers of Matrices A, B, C, D');
legend('Location', 'Best');
grid on;
hold off;

2 Commenti

Gurpreet
Gurpreet il 12 Feb 2024
i tried on a different computer and it ran!!!
thank you all for your help :)
Les Beckham
Les Beckham il 12 Feb 2024
You are quite welcome.

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by