What is wrong with this linear regression code ?
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Hassan Ibrahim
 el 16 de Jul. de 2018
  
    
    
    
    
    Comentada: Hassan Ibrahim
 el 19 de Jul. de 2018
            The problem is in calculating term_0 and term_1, I tried to search for the error but found nothing useful.
 syms k;
x = [100, 120, 130, 140, 150];        %area of the house
w = 7000;                             %cost/meter square
y = w * x;                            %price of the house
t0 = 0;                               %initialize theta as zero
t1 = 0;                               %initialize theta as zero
a = 0.8;                              %setting learning rate(alpha)
m = 5;
term_0 = (a/m) * symsum(t0 + t1*x(k) - y(k),k, 0, m);
term_1 = (a/m) * symsum((t0 + t1*x(k) - y(k)) * x(k),k, 0, m);
 %While loop to get the required theta to minimize cost function
while True
   temp0 = t0 - term_0;
   temp1 = t1 - term_1;
   if temp0 == t0 && temp1 == t1
       break;
   end
   t0 = temp0;
   t1 = temp1;
end
%calculating the prediction function and plotting the results
h = t0 + t1*x;
hold on;
plot(x, y,'xb');
plot(x, h, 'r');
hold off;
0 comentarios
Respuesta aceptada
  Diwakar Ravichandran
    
 el 17 de Jul. de 2018
        
      Editada: Diwakar Ravichandran
    
 el 17 de Jul. de 2018
  
      Hi Hassan, As I tried to reproduce the same error, I noticed that you are trying to use the variable 'k' as a index. This is not possible. As the function symsum is a single variable function. The documentation for symsum is as follows:
Also to obtain the sum of the matrix, you can directly store the value using the sum function of matlab. Its documentation is as follows:
One other thing to note, MATLAB has all of its indices from 1. Not from 0. So I would suggest you to use vectorization for your problem.
Hope this helps,
Cheers!
Más respuestas (0)
Ver también
Categorías
				Más información sobre Calculus en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

