Nie jesteś zalogowany na forum.
Strony: 1
Regresja liniowa:
clear all
clc
close all
load DANE.mat
x1=DANE(:,1);
x2=DANE(:,2);
x3=DANE(:,3);
y2=DANE(:,5);
stats=regstats(y2,[x1,x2,x3],'quadratic');
b=stats.beta;
n=150;
[X1,X2]=meshgrid(linspace(min(x1),max(x1),n),linspace(min(x2),max(x2),n));
stala=1018;
X3=ones(size(X1,1),size(X1,2))*stala;
for i=1:1:size(X1,1)
for j=1:1:size(X2,2)
Y1(i,j)=b(1)+b(2)*X1(i,j)+b(3)*X2(i,j)+b(4)*X3(i,j)+b(5)*X1(i,j).*X2(i,j)+b(6)*X1(i,j).*X3(i,j)+b(7)*X2(i,j).*X3(i,j)+b(8).*X1(i,j).^2+b(9).*X2(i,j).^2+b(10).*X3(i,j).^2;
end
end
figure(1)
surf(X1,X2,Y1)
title('Ilość obrotów x3 = 1018 [obr/min]')
xlabel('X1 - napięcie [V]')
ylabel('X2 - posuw [um/min]')
zlabel('Y1 - wydajność [mm^3/min]')
[X1,X3]=meshgrid(linspace(min(x1),max(x1),n),linspace(min(x3),max(x3),n));
stala=439;
X2=ones(size(X1,1),size(X1,2))*stala;
for i=1:1:size(X1,1)
for j=1:1:size(X3,2)
Y2(i,j)=b(1)+b(2)*X1(i,j)+b(3)*X2(i,j)+b(4)*X3(i,j)+b(5)*X1(i,j).*X2(i,j)+b(6)*X1(i,j).*X3(i,j)+b(7)*X2(i,j).*X3(i,j)+b(8).*X1(i,j).^2+b(9).*X2(i,j).^2+b(10).*X3(i,j).^2;
end
end
figure(2)
surf(X1,X3,Y2)
title('Posuw X2 = 439')
xlabel('X1 - napięcie [V]')
ylabel('X3 - ilość obrotów [obr/min]')
zlabel('Y2 - wydajność [mm^3/min]')
[X2,X3]=meshgrid(linspace(min(x2),max(x2),n),linspace(min(x3),max(x3),n));
stala=12;
X1=ones(size(X2,1),size(X2,2))*stala;
for i=1:1:size(X1,1)
for j=1:1:size(X2,2)
Y3(i,j)=b(1)+b(2)*X1(i,j)+b(3)*X2(i,j)+b(4)*X3(i,j)+b(5)*X1(i,j).*X2(i,j)+b(6)*X1(i,j).*X3(i,j)+b(7)*X2(i,j).*X3(i,j)+b(8).*X1(i,j).^2+b(9).*X2(i,j).^2+b(10).*X3(i,j).^2;
end
end
figure(3)
surf(X2,X3,Y3)
title('Napięcie x1 = 12 [V]')
xlabel('X2 - posuw [um/min]')
ylabel('X3 - ilość obrotów [obr/min]')
zlabel('Y3 - wydajność [mm^3/min]')
Offline
Strony: 1