How dist function works??

Illustration
Archana Goyal - 2022-06-11T13:53:29+00:00
Question: How dist function works??

If w=rand(4,3); p=rand(3,1);   z=dist(w,p)   ans is 0.4278 0.6786 0.3725 0.6324 how these values comes?  

Related Questions

  • How dist function works??
  • Expert Answer

    Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

    The dist function is a 'Euclidean distance weight function' which applies weights to an input to get weighted inputs. At your example:
     
     
    W is the (random) weight matrix. P is the input vector Z is the weighted input
     
     
    If you type in the matlab prompt 'edit dist.apply' you find the formula behind this function. For your example, the weighted matrix is subtracted from the transposed and copied vector. Now it is squared and then the square root is taken. This is how the Euclidian norm is defined Norm = square((a-b)^2)
     
     
    I have copied the code and made the example simpler to understand in the code below better:
    clc;clear all;close all; 
    
    p=[1;2;3]
    w=[1 1 2;1 1 1;1 2 1;1 1 1]
    z1=dist(w,p)
    
    % dist function
    S = size(w,1);
    Q = size(p,2);
    z2 = zeros(S,Q);
    if (Q<S)
      p = p';
      copies = zeros(1,S);
      for q=1:Q
        z2(:,q) = sum((w-p(q+copies,:)).^2,2);
      end
    else
      w = w';
      copies = zeros(1,Q);
      for i=1:S
        z2(i,:) = sum((w(:,i+copies)-p).^2,1);
      end
    end
    z2 = sqrt(z2)
    Here z1 and z2 should give the same answer.
     
    I hope this makes it clearer.


    Not satisfied with the answer ?? ASK NOW

    Get a Free Consultation or a Sample Assignment Review!