%% LABORATORIO 1 - METODI STATISTICI PER LA BIOINGEGNERIA %% Canale B - A.A. 2024/2025 %% Docente: Enrico Longato %% Esercizio 2 %% Direttive per la gestione del workspace e delle figure clc clear all close all %% Creare due vettori riga dati v1 = [4, 2, 6]; % Con virgole (facoltative) v2 = [3 15 7]; % Senza virgole (facoltative) %% Calcolare la matrice A = v1 trasposto per v2 A = v1' * v2; % L'apostrofo è l'operatore di trasposizione disp(['Controlliamo le dimensioni di A --> ', num2str(size(A))]) %% Calcolare la matrice A = v1 per v2 trasposto A1 = v1 * v2'; disp(['Controlliamo le dimensioni di A1 --> ', num2str(size(A1))]) %% Calcolare la norma del vettore v1 % "A forza bruta" (non molto utile...) norm_brute_force = 0; % Inizializzo for i = 1:length(v1) % "i va da 1 a length(v1) con passo unitario" norm_brute_force = norm_brute_force + v1(i)^2; end norm_brute_force = sqrt(norm_brute_force); % Con operazioni sui vettori (molto meglio!) norm_vector_operations = sqrt(sum(v1.^2)); % Attenzione al punto! % Il "." significa che l'operatore ^ è applicato elemento per elemento %% Confrontare il risultato con la funzione norm di MATLAB norm_with_norm = norm(v1); disp(' ') disp('Confronto tra i metodi di calcolo') disp(['Brute force: ', num2str(norm_brute_force)]) disp(['Con operazioni su vettori: ', num2str(norm_vector_operations)]) disp(['Con la function "norm" di MATLAB: ', num2str(norm_with_norm)]) %% Estrarre gli elementi indicati della matrice A B = A([1 3], [2 3]); B_end = A([1 end], [end - 1 end]); % Usando la parola chiave "end" B_end_2 = A([1 end], [end - 1, end]); % Come sopra, ma più leggibile B_end_seq = A([1 end], end-1:end); % Usando anche le sequenze