matlab求积分

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:11:43
k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2),3^(1/2)];%射线的斜率,前17条射线的斜率为0,后17条射线的斜率为 。
b=[-80,-70,-60,-50,-40,-30,-20,-10,0,10,20,30,40,50,60,70,80,-160,-140,-120,-100 ,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160];%34条射线的截距,以上为所需的参数,这些参数可以根据射线条数和射线的间距以及两次测量的射线的角度计算得出,现在为了计算更加的直观,减少变量的数量。先以数据计算,程序编好以后再修改增加参数的计算
syms x
for i=1:34
a(1,i)=1
a(2,i)=x
a(3,i) =k(i)*x+b(i)
a(4,i) =x^2
a(5,i) =x*( k(i)*x+b(i))
a(6,i) =( k(i)*x+b(i))^2
a(7,i) =x^3
a(8,i) =x^2*( k(i)*x+b(i))
a(9,i) =x*( k(i)*x+b(i))^2
a(10,i) =( k(i)*x+b(i))^3
a(11,i) =x^4'
a(12,i) =x^3*( k(i)*x+b(i))
a(14,i) =x^2*( k(i)*x+b(i))^2
a(15,i) =x*( k(i)*x+b(i))^3
a(16,i) =( k(i)*x+b(i))^4
a(17,i) =x^5
a(18,i) =x^4*( k(i)*x+b(i))
a(19,i) =x^3*( k(i)*x+b(i))^2
a(20,i)=x^2*( k(i)*x+b(i))^3
a(21,i) =x*(

%by dynamic
%see also http://www.matlabsky.com
%2009.2.16
%
k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2),3.^(1/2)];
b=[-80,-70,-60,-50,-40,-30,-20,-10,0,10,20,30,40,50,60,70,80,-160,-140,-120,-100 ,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160];%
k=sym(k);
b=sym(b);
syms x
a=sym(zeros(26,34));
a(1,:)=sym(ones(1,34));
a(2,:)=x.*ones(1,34);
a(3,:) =k.*x+b ;
a(4,i) =x.^2 ;
a(5,:) =x.*( k.*x+b) ;
a(6,:) =( k.*x+b).^2 ;
a(7,:) =x.^3 ;
a(8,:) =x.^2.*( k.*x+b) ;
a(9,:) =x.*( k.*x+b).^2 ;
a(10,:) =( k.*x+b).^3 ;
a(11,:) =x.^4';
a(12,:) =x.^3.*( k.*x+b) ;
a(14,:) =x.^2.*( k.*x+b).^2 ;
a(15,:) =x.*( k.*x+b).^3 ;
a(16,:) =( k.*x+b).^4 ;