You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

56 lines
4.1 KiB

function [y,da,db,dc]=derivativeFromFitting(x1,x2,x3,b_reg)
y = b_reg(1)+b_reg(2).*x1+b_reg(3).*x2+b_reg(4).*x3+...
b_reg(5).*x1.^2+b_reg(6).*x2.^2+b_reg(7).*x3.^2 ...
+b_reg(8).*x1.*x2+b_reg(9).*x3.*x2+b_reg(10).*x1.*x3...
+b_reg(11).*x1.^3+b_reg(12).*x2.^3+b_reg(13).*x3.^3 ...
+b_reg(14).*x1.^2.*x2+b_reg(15).*x1.^2.*x3+b_reg(16).*x2.^2.*x1 ...
+b_reg(17).*x2.^2.*x3+b_reg(18).*x3.^2.*x1+b_reg(19).*x3.^2.*x2 ...
+ b_reg(20).*x1.*x2.*x3 ...
+ b_reg(21).*x1.^4 + b_reg(22).*x1.^3.*x2 + b_reg(23).*x1.^3.*x3 ...
+ b_reg(24).*x2.^4 + b_reg(25).*x2.^3.*x1 + b_reg(26).*x2.^3.*x3 ...
+ b_reg(27).*x3.^4 + b_reg(28).*x3.^3.*x1 + b_reg(29).*x3.^3.*x2 ...
+ b_reg(30).*x1.^2.*x2.^2 + b_reg(31).*x1.^2.*x3.^2 + b_reg(32).*x3.^2.*x2.^2 ...
+ b_reg(33).*x1.^2.*x2.*x3 + b_reg(34).*x1.*x2.^2.*x3 + b_reg(35).*x1.*x2.*x3.^2 ...
+ b_reg(36).*x1.^5 + b_reg(37).*x2.^5 + b_reg(38).*x3.^5 ...
+ b_reg(39).*x1.^4.*x2 + b_reg(40).*x1.^4.*x3 ...
+ b_reg(41).*x2.^4.*x1 + b_reg(42).*x2.^4.*x3 ...
+ b_reg(43).*x3.^4.*x1 + b_reg(44).*x3.^4.*x2 ...
+ b_reg(45).*x1.^3.*x2.*x3 + b_reg(46).*x1.*x2.^3.*x3 + b_reg(47).*x1.*x2.*x3.^3 ...
+ b_reg(48).*x1.^2.*x2.^2.*x3 + b_reg(49).*x1.*x2.^2.*x3.^2 + b_reg(50).*x1.^2.*x2.*x3.^2 ...
+ b_reg(51).*x1.^3.*x2.^2 + b_reg(52).*x1.^3.*x3.^2 + b_reg(53).*x2.^3.*x1.^2 ...
+ b_reg(54).*x2.^3.*x3.^2 + b_reg(55).*x3.^3.*x1.^2 + b_reg(56).*x3.^3.*x2.^2;
% diff(yf,x1)
da= 5.*b_reg(36).*x1.^4 + 4.*b_reg(39).*x1.^3.*x2 + 4.*b_reg(40).*x1.^3.*x3 + 4.*b_reg(21).*x1.^3 ...
+ 3.*b_reg(51).*x1.^2.*x2.^2 + 3.*b_reg(45).*x1.^2.*x2.*x3 + 3.*b_reg(22).*x1.^2.*x2 ...
+ 3.*b_reg(52).*x1.^2.*x3.^2 + 3.*b_reg(23).*x1.^2.*x3 + 3.*b_reg(11).*x1.^2 ...
+ 2.*b_reg(53).*x1.*x2.^3 + 2.*b_reg(48).*x1.*x2.^2.*x3 + 2.*b_reg(30).*x1.*x2.^2 ...
+ 2.*b_reg(50).*x1.*x2.*x3.^2 + 2.*b_reg(33).*x1.*x2.*x3 + 2.*b_reg(14).*x1.*x2 ...
+ 2.*b_reg(55).*x1.*x3.^3 + 2.*b_reg(31).*x1.*x3.^2 + 2.*b_reg(15).*x1.*x3 + 2.*b_reg(5).*x1 ...
+ b_reg(41).*x2.^4 + b_reg(46).*x2.^3.*x3 + b_reg(25).*x2.^3 + b_reg(49).*x2.^2.*x3.^2 ...
+ b_reg(34).*x2.^2.*x3 + b_reg(16).*x2.^2 + b_reg(47).*x2.*x3.^3 + b_reg(35).*x2.*x3.^2 ...
+ b_reg(20).*x2.*x3 + b_reg(8).*x2 + b_reg(43).*x3.^4 + b_reg(28).*x3.^3 + b_reg(18).*x3.^2 ...
+ b_reg(10).*x3 + b_reg(2);
% diff(yf,x2)
db= b_reg(39).*x1.^4 + 2.*b_reg(51).*x1.^3.*x2 + b_reg(45).*x1.^3.*x3 + b_reg(22).*x1.^3 ...
+ 3.*b_reg(53).*x1.^2.*x2.^2 + 2.*b_reg(48).*x1.^2.*x2.*x3 + 2.*b_reg(30).*x1.^2.*x2 ...
+ b_reg(50).*x1.^2.*x3.^2 + b_reg(33).*x1.^2.*x3 + b_reg(14).*x1.^2 ...
+ 4.*b_reg(41).*x1.*x2.^3 + 3.*b_reg(46).*x1.*x2.^2.*x3 + 3.*b_reg(25).*x1.*x2.^2 ...
+ 2.*b_reg(49).*x1.*x2.*x3.^2 + 2.*b_reg(34).*x1.*x2.*x3 + 2.*b_reg(16).*x1.*x2 ...
+ b_reg(47).*x1.*x3.^3 + b_reg(35).*x1.*x3.^2 + b_reg(20).*x1.*x3 + b_reg(8).*x1 ...
+ 5.*b_reg(37).*x2.^4 + 4.*b_reg(42).*x2.^3.*x3 + 4.*b_reg(24).*x2.^3 ...
+ 3.*b_reg(54).*x2.^2.*x3.^2 + 3.*b_reg(26).*x2.^2.*x3 + 3.*b_reg(12).*x2.^2 ...
+ 2.*b_reg(56).*x2.*x3.^3 + 2.*b_reg(32).*x2.*x3.^2 + 2.*b_reg(17).*x2.*x3 ...
+ 2.*b_reg(6).*x2 + b_reg(44).*x3.^4 + b_reg(29).*x3.^3 + b_reg(19).*x3.^2 + b_reg(9).*x3 + b_reg(3);
% diff(yf,x3)
dc= b_reg(40).*x1.^4 + b_reg(45).*x1.^3.*x2 + 2.*b_reg(52).*x1.^3.*x3 + b_reg(23).*x1.^3 ...
+ b_reg(48).*x1.^2.*x2.^2 + 2.*b_reg(50).*x1.^2.*x2.*x3 + b_reg(33).*x1.^2.*x2 ...
+ 3.*b_reg(55).*x1.^2.*x3.^2 + 2.*b_reg(31).*x1.^2.*x3 + b_reg(15).*x1.^2 ...
+ b_reg(46).*x1.*x2.^3 + 2.*b_reg(49).*x1.*x2.^2.*x3 + b_reg(34).*x1.*x2.^2 ...
+ 3.*b_reg(47).*x1.*x2.*x3.^2 + 2.*b_reg(35).*x1.*x2.*x3 + b_reg(20).*x1.*x2 ...
+ 4.*b_reg(43).*x1.*x3.^3 + 3.*b_reg(28).*x1.*x3.^2 + 2.*b_reg(18).*x1.*x3 ...
+ b_reg(10).*x1 + b_reg(42).*x2.^4 + 2.*b_reg(54).*x2.^3.*x3 + b_reg(26).*x2.^3 ...
+ 3.*b_reg(56).*x2.^2.*x3.^2 + 2.*b_reg(32).*x2.^2.*x3 + b_reg(17).*x2.^2 ...
+ 4.*b_reg(44).*x2.*x3.^3 + 3.*b_reg(29).*x2.*x3.^2 + 2.*b_reg(19).*x2.*x3 + b_reg(9).*x2 ...
+ 5.*b_reg(38).*x3.^4 + 4.*b_reg(27).*x3.^3 + 3.*b_reg(13).*x3.^2 + 2.*b_reg(7).*x3 + b_reg(4);
end