Matlab代码1运行结果

合集下载

MATLAB实验代码与运行结果

MATLAB实验代码与运行结果

MATLAB实验代码及运行结果第一部分MATLAB语言编程、科学绘图与基本数学问题求解第二题>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4j,2+3j,3+2j,4+1j;4+1j,3+2j,2+3j,1+4j;2+3j,3+2j,4+1j,1+4j;3+2j,2+3j,4+1j,1+4j]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i >> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5第三题>> A=magic(8);A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1 B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1 第四题>> format long;sum(2.^[0:63])ans =1.844674407370955e+19>> sum(sym(2).^[0:63])ans =18446744073709551615第五题(1)>> x=[-1:0.001:1];y=sin(1./x);plot(x,y)(2)>>t=[-pi:0.005:pi];y=sin(tan(t))-tan(sin(t));plot(t,y)第六题[x,y]=meshgrid(-2:0.1:2);z=1./(sqrt((1-x).^2+y.^2))+1./(sqrt((1+x).^2+y.^2));subplot(2 24),surf(x,y,z),shadingflat;subplot(221),surf(x,y,z),view(0,90);subplot(222),surf(x,y,z),view(90,0);subplot(22 3),surf(x,y,z),view(0,0)>>Warning: Divide by zero.Warning: Divide by zero.xx=[-2:0.1:-1.2,-1.1:0.02:-0.9,-0.8:0.1:0.8,0.9:0.02:1.1,1.2:0.1:2];yy=[-1:0.1:-0.2,-0.1:0 .02:0.1,0.2:0.1:1];[x,y]=meshgrid(xx,yy);z=1./((sqrt(1-x).^2+y.^2))+1./(sqrt((1+x).^2+y. ^2));subplot(224),surf(x,y,z),shadingflat;zlim([0,15]);subplot(221),surf(x,y,z),view(0,90);subplot(222),surf(x,y,z),view(90,0) ;subplot(223),surf(x,y,z),view(0,0)第七题(1)>> syms x;f=(3^x+9^x)^(1/x);limit(f,x,inf)ans =9(2)>> syms x y;f=x*y/(sqrt(x*y+1)-1);limit(limit(f,y,0),x,0)ans =2(3)>> syms x y;f=(1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2));limit(limit(f,y,0),x,0) ans =第八题第一步新建脚本function result=paradiff(y,x,t,n)if mod(n,1)~=0,error('n should positive innteger,please correct')else if n==1,result=diff(y,t)/diff(x,t);else result=diff(y,x,t,n-1)/diff(x,t);end,end(1)syms t;x=log(cos(t));y=cos(t)-t*sin(t);f=simplify(paradiff(y,x,t,1))f =(cos(t)*(2*sin(t) + t*cos(t)))/sin(t)(2)syms t;f=(cos(t)*(2*sin(t) + t*cos(t)))/sin(t);f1=diff(f)f1 =(cos(t)*(3*cos(t) - t*sin(t)))/sin(t) - t*cos(t) - (cos(t)^2*(2*sin(t) + t*cos(t)))/sin(t)^2 - 2*sin(t)t=pi/3;f1 =(cos(t)*(3*cos(t) - t*sin(t)))/sin(t) - t*cos(t) - (cos(t)^2*(2*sin(t) + t*cos(t)))/sin(t)^2 - 2*sin(t)f1 =-2.6651第九题>> syms x y t;f=int(exp(-t^2),t,0,x*y);F=(x/y)*(diff(f,x,2))-2*(diff(diff(f,x,1),y,1))+diff(f,y,2)F =2*x^2*y^2*exp(-x^2*y^2) - 2*x^3*y*exp(-x^2*y^2) - 2*exp(-x^2*y^2)第十题(1)>> syms n m;limit(symsum(1/((2*m)^2-1),m,1,n),n,inf)1/2(2)>> syms m n;limit(symsum(n*(1/(n^2+m*pi)),m,1,n),n,inf)ans =1第十一题(1)>> syms t;syms a positive;x=a*(cos(t)+t*sin(t));y=a*(sin(t)-t*cos(t));I=int((x^2+y^2)*sqrt(diff(y,t)^2+diff (x,t)^2),t,0,2*pi)I =2*pi^2*a^3*(2*pi^2 + 1)(2)>> syms t x y;syms a c b positive;x=c*cos(t)/a;y=c*sin(t)/b;F=[y*x^3+exp(y),x*y^3+x*exp(y)-2*y];ds=[diff(x,t); diff(y,t)]; I=int(F*ds,t,pi,0)I =(2*c*(15*b^4 - 2*c^4))/(15*a*b^4)第十二题>> syms a b c d e;A=[a^4,a^3,a^2,a,1;b^4,b^3,b^2,b,1;c^4,c^3,c^2,c,1;d^4,d^3,d^2,d,1;e^4,e^3,e^2,e,1];simplify (det(A))ans =(a - b)*(a - c)*(a - d)*(b - c)*(a - e)*(b - d)*(b - e)*(c - d)*(c - e)*(d - e)第十三题>> A=[2 0.5 -0.5 0.5;0 -1.5 0.5 -0.5;2,0.5 -4.5 0.5;2 1 -2 -2];[V,J]=jordan(sym(A))V =[ 0, 1/8, 1/2, 3/8][ 0, 0, -2, -3][ -1/6, 1/24, -1/2, 1/8][ -1/6, 1/24, -5/2, 9/8]J =[ -4, 0, 0, 0][ 0, 2, 0, 0][ 0, 0, -2, 1][ 0, 0, 0, -2]第十四题编写函数代码function X=lyapsym(A,B,C)if nargin==2,C=B;B=A';end[nr,nc]=size(C);A0=kron(A,eye(nc))+kron(eye(nr),B');tryC1=C';x0=-inv(A0)*C1(:);X=reshape(x0,nc,nr)';catch,error('singular matrix found.'),end>> A=[3 -6 -4 0 5;1 4 2 -2 4;-6 3 -6 7 3;-13 10 0 -11 0;0 4 0 3 4];B=[3 -2 1;-2 -9 2;-2 -1 9];C=-[-2 1 -1;4 1 2;5 -6 1;6 -4 -4;-6 6 -3];X=lyap(A,B,C),norm(A*X+X*B+C);X=lyapsym(sym(A),B,C),norm(A*X+X*B+C)X =4.0569 14.5128 -1.5653-0.0356 -25.0743 2.7408-9.4886 -25.9323 4.4177-2.6969 -21.6450 2.8851-7.7229 -31.9100 3.7634X =[ 434641749950/107136516451, 4664546747350/321409549353, -503105815912/321409549353][ -3809507498/107136516451, -8059112319373/321409549353, 880921527508/321409549353][ -1016580400173/107136516451, -8334897743767/321409549353, 1419901706449/321409549353][ -288938859984/107136516451, -6956912657222/321409549353, 927293592476/321409549353][ -827401644798/107136516451, -10256166034813/321409549353, 1209595497577/321409549353](2)>> A=[3 -6 -4 0 5;1 4 2 -2 4;-6 3 -6 7 3;-13 10 0 -11 0;0 4 0 3 4];B=[3 -2 1;-2 -9 2;-2 -1 9];C=-[-2 1 -1;4 1 2;5 -6 1;6 -4 -4;-6 6 -3];X=lyap(A,B,C),norm(A*X+X*B+C)X =4.0569 14.5128 -1.5653-0.0356 -25.0743 2.7408-9.4886 -25.9323 4.4177-2.6969 -21.6450 2.8851-7.7229 -31.9100 3.7634ans =3.4356e-13第十五题>> syms t;A=[-4.5,0,0.5,-1.5;-0.5,-4,0.5,-0.5;1.5,1,-2.5,1.5;0,-1,-1,-3];B=simplify(expm(A*t))B =[ (exp(-5*t)*(exp(2*t) - t*exp(2*t) + t^2*exp(2*t) + 1))/2, (exp(-5*t)*(2*t*exp(2*t) - exp(2*t) + 1))/2, (t*exp(-3*t)*(t + 1))/2, -(exp(-5*t)*(exp(2*t) + t*exp(2*t) - t^2*exp(2*t) - 1))/2][ (exp(-5*t)*(t*exp(2*t) - exp(2*t) + 1))/2, (exp(-5*t)*(exp(2*t) + 1))/2, (t*exp(-3*t))/2, (exp(-5*t)*(t*exp(2*t) - exp(2*t) + 1))/2][ (exp(-5*t)*(exp(2*t) + t*exp(2*t) - 1))/2, (exp(-5*t)*(exp(2*t) - 1))/2, (exp(-3*t)*(t + 2))/2, (exp(-5*t)*(exp(2*t) + t*exp(2*t) - 1))/2][ -(t^2*exp(-3*t))/2, -t*exp(-3*t), -(t*exp(-3*t)*(t + 2))/2, -(exp(-3*t)*(t^2 - 2))/2]>> C=simplify(sin(A*t))C =[ -sin((9*t)/2), 0, sin(t/2), -sin((3*t)/2)][ -sin(t/2), -sin(4*t), sin(t/2), -sin(t/2)][ sin((3*t)/2), sin(t), -sin((5*t)/2), sin((3*t)/2)][ 0, -sin(t), -sin(t), -sin(3*t)]>> D=simplify(expm(A*t)*sin(A^2*expm(A*t)*t))D =[ (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(2*t*exp(2*t) - exp(2*t) + 1))/2 + (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 - 12*t + 2))/2)*(exp(2*t) + t*exp(2*t) - t^2*exp(2*t) - 1))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(17*exp(2*t) - 21*t*exp(2*t) + 9*t^2*exp(2*t) + 25))/2)*(exp(2*t) - t*exp(2*t) + t^2*exp(2*t) + 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2)*(t + 1))/2, (exp(-5*t)*sin((t*exp(-5*t)*(9*exp(2*t) + 25))/2)*(2*t*exp(2*t) - exp(2*t) + 1))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(18*t*exp(2*t) - 21*exp(2*t) + 25))/2)*(exp(2*t) - t*exp(2*t) + t^2*exp(2*t) + 1))/2 + (exp(-5*t)*sin(3*t*exp(-3*t)*(3*t - 2))*(exp(2*t) + t*exp(2*t) - t^2*exp(2*t) - 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(9*exp(2*t) - 25))/2)*(t + 1))/2, (exp(-5*t)*sin((3*t*exp(-3*t)*(3*t - 2))/2)*(2*t*exp(2*t) - exp(2*t) + 1))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2)*(exp(2*t) - t*exp(2*t) + t^2*exp(2*t) + 1))/2 + (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2)*(exp(2*t) + t*exp(2*t) - t^2*exp(2*t) - 1))/2 + (t*exp(-3*t)*sin((3*t*exp(-3*t)*(3*t + 4))/2)*(t + 1))/2, (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(2*t*exp(2*t) - exp(2*t) + 1))/2 - (exp(-5*t)*sin((t*exp(-5*t)*(exp(2*t) + 21*t*exp(2*t) - 9*t^2*exp(2*t) - 25))/2)*(exp(2*t) - t*exp(2*t) + t^2*exp(2*t) + 1))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 12*t + 16))/2)*(exp(2*t) + t*exp(2*t) - t^2*exp(2*t) - 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2)*(t + 1))/2][ (exp(-5*t)*sin((t*exp(-5*t)*(1 7*exp(2*t) - 21*t*exp(2*t) + 9*t^2*exp(2*t) + 25))/2)*(t*exp(2*t) - exp(2*t) + 1))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 - 12*t + 2))/2)*(t*exp(2*t) - exp(2*t) + 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(exp(2*t) + 1))/2, (exp(-5*t)*sin((t*exp(-5*t)*(18*t*exp(2*t) - 21*exp(2*t) + 25))/2)*(t*exp(2*t) - exp(2*t) + 1))/2 - (exp(-5*t)*sin(3*t*exp(-3*t)*(3*t - 2))*(t*exp(2*t) - exp(2*t) + 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(9*exp(2*t) - 25))/2))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(9*exp(2*t) + 25))/2)*(exp(2*t) + 1))/2, (exp(-3*t)*sin((3*t*exp(-3*t)*(3*t - 2))/2))/2 + (exp(-5*t)*sin((3*t*exp(-3*t)*(3*t - 2))/2))/2 + (exp(-3*t)*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2))/2 + (exp(-3*t)*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2))/2 + (t*exp(-3*t)*sin((3*t*exp(-3*t)*(3*t + 4))/2))/2 - (t*exp(-3*t)*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2))/2 - (t*exp(-3*t)*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2))/2, (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 12*t + 16))/2)*(t*exp(2*t) - exp(2*t) + 1))/2 - (exp(-5*t)*sin((t*exp(-5*t)*(exp(2*t) + 21*t*exp(2*t) - 9*t^2*exp(2*t) - 25))/2)*(t*exp(2*t) - exp(2*t) + 1))/2 + (t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(exp(2*t) + 1))/2][ (exp(-5*t)*sin((t*exp(-5*t)*(17*ex p(2*t) - 21*t*exp(2*t) + 9*t^2*exp(2*t) + 25))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 - 12*t + 2))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 + exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2)*(t/2 + 1) + (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(exp(2*t) - 1))/2, exp(-3*t)*sin((t*exp(-5*t)*(9*exp(2*t) - 25))/2)*(t/2 + 1) + (exp(-5*t)*sin((t*exp(-5*t)*(9*exp(2*t) + 25))/2)*(exp(2*t) - 1))/2 + (exp(-5*t)*sin((t*exp(-5*t)*(18*t*exp(2*t) - 21*exp(2*t) + 25))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 - (exp(-5*t)*sin(3*t*exp(-3*t)*(3*t - 2))*(exp(2*t) + t*exp(2*t) - 1))/2, exp(-3*t)*sin((3*t*exp(-3*t)*(3*t + 4))/2)*(t/2 + 1) - (exp(-5*t)*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 - (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 + (exp(-5*t)*sin((3*t*exp(-3*t)*(3*t - 2))/2)*(exp(2*t) - 1))/2, (exp(-5*t)*sin((t*exp(-3*t)*(- 9*t^2 + 12*t + 16))/2)*(exp(2*t) + t*exp(2*t) - 1))/2 + exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2)*(t/2 + 1) + (exp(-5*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2)*(exp(2*t) - 1))/2 - (exp(-5*t)*sin((t*exp(-5*t)*(exp(2*t) + 21*t*exp(2*t) - 9*t^2*exp(2*t) - 25))/2)*(exp(2*t) + t*exp(2*t) - 1))/2][exp(-3*t)*sin((t*exp(-3*t)*(9*t^2 - 12*t + 2))/2)*(t^2/2 - 1) - (t^2*exp(-3*t)*sin((t*exp(-5*t)*(17*exp(2*t) - 21*t*exp(2*t) + 9*t^2*exp(2*t) + 25))/2))/2 - t*exp(-3*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2) - (t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2)*(t + 2))/2, exp(-3*t)*sin(3*t*exp(-3*t)*(3*t - 2))*(t^2/2 - 1) - t*exp(-3*t)*sin((t*exp(-5*t)*(9*exp(2*t) + 25))/2) - (t^2*exp(-3*t)*sin((t*exp(-5*t)*(18*t*exp(2*t) - 21*exp(2*t) + 25))/2))/2 - (t*exp(-3*t)*sin((t*exp(-5*t)*(9*exp(2*t) - 25))/2)*(t + 2))/2, -(exp(-3*t)*(2*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2) - t^2*sin((t*exp(-3*t)*(- 9*t^2 + 3*t + 4))/2) - t^2*sin((t*exp(-3*t)*(9*t^2 + 6*t - 10))/2) + 2*t*sin((3*t*exp(-3*t)*(3*t - 2))/2) + 2*t*sin((3*t*exp(-3*t)*(3*t + 4))/2) + t^2*sin((3*t*exp(-3*t)*(3*t + 4))/2)))/2, exp(-3*t)*sin((t*exp(-3*t)*(- 9*t^2 + 12*t + 16))/2) - (t^2*exp(-3*t)*sin((t*exp(-3*t)*(- 9*t^2 + 12*t + 16))/2))/2 - t*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2) - t*exp(-3*t)*sin((t*exp(-5*t)*(9*t*exp(2*t) - 15*exp(2*t) + 25))/2) - (t^2*exp(-3*t)*sin((t*exp(-5*t)*(3*exp(2*t) + 9*t*exp(2*t) - 25))/2))/2 + (t^2*exp(-3*t)*sin((t*exp(-5*t)*(exp(2*t) + 21*t*exp(2*t) - 9*t^2*exp(2*t) - 25))/2))/2]第二部分数学问题求解与数据处理第一题(1)>> syms a t;f=sin(a*t)/t;F=simplify(laplace(f))F =atan(a/s)(2)>> syms a t;f=t^5*sin(a*t);F=simplify(laplace(f))F =(240*a*s*(3*a^4 - 10*a^2*s^2 + 3*s^4))/(a^2 + s^2)^6(3)>> syms a t;f=t^8*cos(a*t);F=simplify(laplace(f))F =(40320*s*(9*a^8 - 84*a^6*s^2 + 126*a^4*s^4 - 36*a^2*s^6 + s^8))/(a^2 + s^2)^9 第二题(1)>> syms a s b t;f=1/(sqrt(s*s)*(s^2-a^2)*(s+b));f1=ilaplace(f,s,t)f1 =-ilaplace(1/((b + s)*(a^2 - s^2)*(s^2)^(1/2)), s, t)(2)>> syms s a b t;f=sqrt(s-a)-sqrt(s-b);f1=ilaplace(f,s,t)f1 =ilaplace((s - a)^(1/2), s, t) - ilaplace((s - b)^(1/2), s, t)(3)>> syms a b s t;f=log((s-a)/(s-b));f1=ilaplace(f,s,t)f1 =exp(b*t)/t - exp(a*t)/t第三题(1)>> syms x t;f=x^2*(3*pi-abs(2*x));f1=ifourier(f,x)f1 =-(24/x^4 + 6*pi^2*dirac(x, 2))/(2*pi)(2)>> syms t;f=t^2*(t-2*pi);f1=ifourier(f,t)f1 =(pi*dirac(t, 3)*2*i + 4*pi^2*dirac(t, 2))/(2*pi)第四题(1)>> syms a T K;f=cos(K*a*T);f1=ztrans(f);f2=iztrans(f1)f2 =cos(K*T*n)(2)>> syms a T K;f=(K*T)^2*exp(-a*K*T);f1=ztrans(f);f2=iztrans(f1)f2 =K^2*T^2*kroneckerDelta(n, 0) - K^2*T^2*exp(-K*T)*(exp(K*T)*kroneckerDelta(n, 0) - exp(-K*T)^n*exp(K*T))(3)>> syms a K T;f=(a*T*K-1+exp(-a*T*K))/a;f1=ztrans(f);f2=iztrans(f1)f2 =exp(-K*T)^n/n - 1/n - K*T*(kroneckerDelta(n, 0) - 1) + K*T*kroneckerDelta(n, 0)第五题(1)>> syms x;f=exp(-(x+1)^2+pi/2)*sin(5*x+2);t=solve(f)t =-2/5>> subs(f,x,-2/5)ans =(2)>> syms x y;f=(x^2+y^2+x*y)*exp(-x^2-y^2-x*y);x1=solve('(x^2+y^2+x*y)*exp(-x^2-y^2-x*y)','x') x1 =- y/2 + (3^(1/2)*y*i)/2- y/2 - (3^(1/2)*y*i)/2>> simplify(subs(f,x,x1))ans =第六题>> syms c x;solve(diff(int((exp(x)-c*x)^2,x,0,1),c))ans =3第七题写函数: function [c,ce]=c6exmcon(x)ce=[];c=[x(1)+x(2);x(1)*x(2)-x(1)-x(2)+1.5;-10-x(1)*x(2)];>> clear P;P.nonlcon=@c6exmcon;P.solver='fmincon';P.options=optimset;P.objective=@(x)exp(x(1))*(4*x( 1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);...ff=optimset;ff.TolX=1e-20;ff.TolFum=1e-20;P.options=ff;P.lb=[-10;-10];P.ub=-P.lb;P.x0=[0;0];[x,f1,fla g]=fmincon(P)Local minimum found that satisfies the constraints.Optimization completed because the objective function is non-decreasing infeasible directions, to within the default value of the function tolerance,and constraints are satisfied to within the default value of the constraint tolerance.<stopping criteria details>x =1.1825-1.7398f1 =3.0608flag =1第八题N=10;[x1,x2,x3,x4,x5,x6,x7]=ndgrid(1:N,1:N,4:N,1:N,2:N,5:N,6:N);i=find((-x1<=0)&(-x2<=0)&(-x3< =0)&(-x4<=0)&(-x5<=0)&(-x6<=0)&(-x7<=0)&(3534*x1+2356*x2+1767*x3+589*x4+528*x5+451* x6+304*x7<=119567));x1=x1(i);x2=x2(i);x3=x3(i);x4=x4(i);x5=x5(i);x6=x6(i);x7=x7(i);f=592*x1+381 *x2+273*x3+55*x4+48*x5+37*x6+23*x7;[fmax,ii]=sort(f);index=ii(1);x=[x1(index),x2(index),x3(in dex),x4(index),x5(index),x6(index),x7(index)]x =1 1 4 12 5 6第九题syms x y;y1=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)','x');simplify(y1)ans =(exp(-5*x)*(30*x - 6*ei(-6*x)*exp(6*x) + 36*x^2 + 1296*C7*exp(6*x) + 1296*C8*exp(6*x)*log(x) + 11))/1296>> y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)','y(1)=sym(pi)','y((pi))=1','x');simplify(y)ans =(exp(-5*x)*(30*x + 6*log(x) + 108*x^2*log(x) + 216*x^3*log(x) - 6*ei(-6*x)*exp(6*x) + 36*x*log(x) + 36*x^2 + 11))/1296 - (exp(-5*x)*log(x)*(216*x^3 + 108*x^2 + 36*x + 6))/1296 + (exp(-6)*exp(x)*(6*ei(-6)*exp(6) + 1296*exp(5)*sym(pi) - 77))/1296 - (exp(-6*pi)*exp(-6)*exp(x)*log(x)*(11*exp(6) - 77*exp(6*pi) + 30*pi*exp(6) + 36*pi^2*exp(6) - 1296*exp(5*pi)*exp(6) + 6*ei(-6)*exp(6*pi)*exp(6) + 1296*exp(6*pi)*exp(5)*sym(pi) - 6*exp(6*pi)*exp(6)*ei(-6*pi)))/(1296*log(pi))第十题(1)>> syms t;x=dsolve('D2x+2*t*Dx+t^2*x=t+1');simplify(x)ans =C4*exp(-(t*(t - 2))/2) + C5*exp(-(t*(t + 2))/2) - (2^(1/2)*pi^(1/2)*erf(2^(1/2)*((t*i)/2 - i/2))*exp(-(t - 1)^2/2)*i)/2(2)>> syms x y;y=dsolve('Dy+2*x*y=x*exp(-x^2)')y =(exp(-x^2)*(C2*exp(-2*t*x) + 1))/2第十一题>>f=@(t,x)[-x(2)-x(3);x(1)+0.2*x(2);0.2+(x(1)-5.7)*x(3)];[t,x]=ode45(f,[0,100],[0;0;0]);plot(t,x) ;grid ;view(0,90)第十二题>>f=inline(['[x(2);-x(1)-x(3)-(3*x(2))^2+(x(4))^3+6*x(5)+2*t;','x(4);x(5);-x(5)-x(2)-exp(-x(1))-t]'],'t','x'); [t1,x1]=ode45(f,[1,0],[2,-4,-2,7,6]'); [t2,x2]=ode45(f,[1,2],[2,-4,-2,7,6]'); t=[t1(end:-1:1);t2];x=[x1(end:-1:1,:);x2];plot(x(:,1),x(:,3));plot(t,x)>> plot(x(:,1),x(:,3))第十三题[t,x,y]=sim('untitled12',[0,10]);plot(t,x)figure;plot(t,y)第十四题t=0:0.2:2; y=t.^2.*exp(-5*t).*sin(t);plot(t,y,'o')ezplot('t.^2.*exp(-5*t).*sin(t)',[0,2]);hold on;x1=0:0.01:2;y1=interp1(t,y,x1,'spline');plot(x1,y1)。

MATLAB程序运行结果

MATLAB程序运行结果

close all %关闭打开了的所有图形窗口clc %清屏命令clear %清除工作空间中所有变量%定义时间范围t=[0:pi/10:8*pi];y=sin(t);plot(t,y,'b:square')close allclcclear%定义时间范围t=[0:pi/20:9*pi];grid onhold on %允许在同一坐标系下绘制不同的图形plot(t,sin(t),'r:*')plot(t,cos(t))plot(t,-cos(t),'k')%grid on %在所画出的图形坐标中添加栅格,注意用在plot之后4-1:close allclcclear%定义时间范围t=[0:pi/20:9*pi];hold on %允许在同一坐标系下绘制不同的图形plot(t,sin(t),'r:*')plot(t,cos(t))plot(t,-cos(t),'k')grid on %在所画出的图形坐标中添加栅格,注意用在plot之后hold off %覆盖旧图,自动把栅格去掉,且若要在加入栅格就%必须把grid on加在plot后面plot(t,-sin(t))grid on%主程序exp2_10.mglobal a %声明变量a为全局变量x=1:100;a=3;c=prods(x) %调用子程序prods.m%子程序prods.m% function result=prods(x)% global a% result=a*sum(x);%声明了与主程序一样的全局变量a,以便在子程序中可以%使用主程序中定义的变量答案:15150exmdl2_1.mclearclose allclct=[0:pi/20:5*pi];figure(1)plot(t,out)grid onxlabel('time')ylabel('magnitude')exp2_1.mclc %清屏clear %从内存中清除变量和函数more onecho on%求矩阵与矩阵的乘积,矩阵与向量的乘积A=[5 6 7;9 4 6;4 3 6]B=[3 4 5;5 7 9;7 3 1]C=A*BY=A*Xmore offecho off答案:%求矩阵与矩阵的乘积,矩阵与向量的乘积A=[5 6 7;9 4 6;4 3 6]A =5 6 79 4 64 3 6B=[3 4 5;5 7 9;7 3 1]B =3 4 55 7 97 3 1X=[5 ;7;8]X =578C=A*BC =94 83 8689 82 8769 55 53Y=A*XY =12189more offecho offexp2_2.mclcclearmore onecho on%为便于理解,在程序等执行过程中显示程序的表达式a=16;b=12;c=3;d=4;e=a+b-c*df=e/2k=e\2h=c^3g=e+f+ ...2+1-9aa=sin(g)abs(aa)bb=2+3jcc=conj(bb)rbb=real(bb) log(rbb) sqrt(rbb) exp(rbb) echo off more offa=16;b=12;c=3;d=4;e=a+b-c*de =16f=e/2f =8k=e\2k =0.1250h=c^3h =27g=e+f+ ...2+1-9g =18aa=sin(g)aa =-0.7510abs(aa)ans =0.7510bb=2+3jbb =2.0000 +3.0000i cc=conj(bb)cc =2.0000 -3.0000i rbb=real(bb)rbb =2log(rbb)ans =0.6931sqrt(rbb)ans =1.4142exp(rbb)ans =7.3891echo offans =7.3891exp2_5.m%绘制单位圆clearclose allclc%定义时间范围t=[0:0.01:2*pi];x=sin(t);y=cos(t);plot(x,y)axis([-1.5 1.5 -1.5 1.5])%限定x轴和y轴的显示范围grid onaxis('equal')%axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:答案:exp2_5_.mclearclose allclct=[0:pi/20:5*pi];plot(t,sin(t),'r:*')axis([0 5*pi -1.5 1.5 ])%给x轴和y轴命名xlabel('t(deg)')ylabel('magnitude')%给图形加标题title('sine wave from zero to 5\pi')%在指定位置创建说明性文字text(pi/2,sin(pi/2),'\bullet\leftarrow The sin(t) at t=2')%图形文字标示命令的使用clearclose allclct=[0:pi/20:5*pi];plot(t,sin(t),'r:*')axis([0 5*pi -1.5 1.5 ])%给x轴和y轴命名xlabel('t(deg)')ylabel('magnitude')%给图形加标题title('sine wave from zero to 5\pi')%在指定位置创建说明性文字text(pi/2,sin(pi/2),'\bullet\leftarrow The sin(t) at t=2') %输入特定的字符%\pi%\alpha%\leftarrow%\rightarrow%\bullet(点号)hold onplot(t,cos(t))%区分图形上不同的曲线legend('sin(t)','cos(t)')%用鼠标在特定位置输入文字gtext('文字标示命令举例') hold offexp2_6.m%图形分割命令的使用clearclose allclct=[0:pi/20:5*pi];subplot(321)plot(t,sin(t))axis([0 16 -1.5 1.5]) xlabel('t(deg)') ylabel('magnitude') grid ontitle('sin(t)') subplot(322)plot(t,-sin(t))axis([0 16 -1.5 1.5]) xlabel('t(deg)') ylabel('magnitude') grid ontitle('-sin(t)') subplot(323)plot(t,cos(t))axis([0 16 -1.5 1.5]) xlabel('t(deg)') ylabel('magnitude') grid ontitle('cos(t)') subplot(324)plot(t,-cos(t))axis([0 16 -1.5 1.5]) xlabel('t(deg)') ylabel('magnitude') grid ontitle('-cos(t)') subplot(325) subplot(326)exp2_7.mclcclear%绘制对应于每个输入x的输出y的高度条形图subplot(221)x=[1 2 3 4 5 6 7 8 9 10];y=[5 6 3 4 8 1 10 3 5 6];bar(x,y)%绘制x1在以y1为中心的区间中分布的个数条形图subplot(222)x1=randn(1,1000);%生成1000个各随机数y1=-3:0.1:3;hist(x1,y1)%绘制y2对应于x2的梯形图subplot(223)x2=0:0.1:10;y2=1./(x2.^3-2.*x2+4);stairs(x2,y2)%绘制y3对应于x3的散点图subplot(224)x3=0:0.1:10;y3=1./(x2.^3-2.*x2+4);stem(x3,y3)exp2_8.mecho off % 不显示程序内容%clear allclearclca=4;b=6disp('暂停,请按任意键继续') % disp指令可以用来显示字符pause % 暂停,直到用户按任意键echo on% 显示程序内容,注意matlab默认是不显示c=a+b% 暂时把控制权交给键盘(在命令窗口中出现k提示符), % 输入return,回车后退出,继续执行下面的语句。

matlab基本语句及语法

matlab基本语句及语法

matlab基本语句及语法一、基本语法1. 变量定义与赋值:在MATLAB中,可以使用等号(=)将一个数值或表达式赋值给一个变量。

例如:a = 5; 表示将数值5赋值给变量a。

2. 注释:在MATLAB中,可以使用百分号(%)来添加注释,以便于代码的阅读和理解。

例如:% 这是一条注释。

3. 函数的定义与调用:在MATLAB中,可以使用关键字function 来定义函数,并使用函数名进行调用。

例如:function result = add(a, b) 表示定义了一个名为add的函数,该函数接受两个参数a 和b,并返回一个结果result。

4. 条件语句:在MATLAB中,可以使用if语句来实现条件判断。

例如:if a > b 表示如果a大于b,则执行if语句块中的代码。

5. 循环语句:在MATLAB中,可以使用for循环和while循环来实现循环操作。

例如:for i = 1:10 表示从1循环到10,每次循环中i 的值递增1。

6. 矩阵的定义与操作:在MATLAB中,可以使用方括号([])来定义矩阵,并使用各种运算符进行矩阵的操作。

例如:A = [1 2; 3 4] 表示定义了一个2x2的矩阵A。

7. 字符串的操作:在MATLAB中,可以使用单引号('')来定义字符串,并使用加号(+)来进行字符串的拼接。

例如:str = 'Hello' + 'World' 表示将字符串'Hello'和'World'进行拼接。

8. 文件的读写:在MATLAB中,可以使用fopen、fread、fwrite 等函数来进行文件的读写操作。

例如:fid = fopen('file.txt', 'w') 表示打开一个名为file.txt的文件,并以写入模式打开。

9. 图形绘制:在MATLAB中,可以使用plot、scatter、histogram等函数来进行图形的绘制。

MATLAB程序运行结果

MATLAB程序运行结果

close‎all %关闭打开了‎的所有图形‎窗口clc %清屏命令clear‎%清除工作空‎间中所有变‎量%定义时间范‎围t=[0:pi/10:8*pi];y=sin(t);plot(t,y,'b:squar‎e')close‎allclcclear‎%定义时间范‎围t=[0:pi/20:9*pi];grid onhold on %允许在同一‎坐标系下绘‎制不同的图‎形plot(t,sin(t),'r:*')plot(t,cos(t))plot(t,-cos(t),'k')%grid on %在所画出的‎图形坐标中‎添加栅格,注意用在p‎l ot之后‎4-1:close‎allclcclear‎%定义时间范‎围t=[0:pi/20:9*pi];hold on %允许在同一‎坐标系下绘‎制不同的图‎形plot(t,sin(t),'r:*')plot(t,cos(t))plot(t,-cos(t),'k')grid on %在所画出的‎图形坐标中‎添加栅格,注意用在p‎l ot之后‎hold off %覆盖旧图,自动把栅格‎去掉,且若要在加‎入栅格就%必须把gr‎i d on加在p‎l ot后面‎plot(t,-sin(t))grid on%主程序ex‎p2_10‎.mgloba‎l a %声明变量a‎为全局变量‎x=1:100;a=3;c=prods‎(x) %调用子程序‎p rods‎.m%子程序pr‎o d s.m% funct‎i on resul‎t=prods‎(x)% globa‎l a% resul‎t=a*sum(x);%声明了与主‎程序一样的‎全局变量a‎,以便在子程‎序中可以%使用主程序‎中定义的变‎量答案:15150‎exmdl‎2_1.mclear‎close‎allclct=[0:pi/20:5*pi];figur‎e(1)plot(t,out)grid onxlabe‎l('time')ylabe‎l('magni‎t ude')exp2_‎1.mclc %清屏clear‎%从内存中清‎除变量和函‎数more onecho on%求矩阵与矩‎阵的乘积,矩阵与向量‎的乘积A=[5 6 7;9 4 6;4 3 6]B=[3 4 5;5 7 9;7 3 1]C=A*BY=A*Xmore offecho off答案:%求矩阵与矩‎阵的乘积,矩阵与向量‎的乘积A=[5 6 7;9 4 6;4 3 6]A =5 6 79 4 64 3 6B=[3 4 5;5 7 9;7 3 1]B =3 4 55 7 97 3 1X=[5 ;7;8]X =578C=A*BC =94 83 8689 82 8769 55 53Y=A*XY =12189more offecho offexp2_‎2.mclcclear‎more onecho on%为便于理解‎,在程序等执‎行过程中显‎示程序的表‎达式a=16;b=12;c=3;d=4;e=a+b-c*df=e/2k=e\2h=c^3g=e+f+ ...2+1-9aa=sin(g)abs(aa)bb=2+3jcc=conj(bb)rbb=real(bb) log(rbb) sqrt(rbb) exp(rbb) echo off more offa=16;b=12;c=3;d=4;e=a+b-c*de =16f=e/2f =8k=e\2k =0.1250h=c^3h =27g=e+f+ ...2+1-9g =18aa=sin(g)aa =-0.7510abs(aa)ans =0.7510bb=2+3jbb =2.0000 +3.0000i‎cc=conj(bb)cc =2.0000 -3.0000i‎rbb=real(bb)rbb =2log(rbb)ans =0.6931sqrt(rbb)ans =1.4142exp(rbb)ans =7.3891echo offans =7.3891exp2_‎5.m%绘制单位圆‎clear‎close‎allclc%定义时间范‎围t=[0:0.01:2*pi];x=sin(t);y=cos(t);plot(x,y)axis([-1.5 1.5 -1.5 1.5])%限定x轴和‎y轴的显示‎范围grid onaxis('equal‎')%axis([xmin,xmax,ymin,ymax])函数来调整‎图轴的范围:答案:exp2_‎5_.mclear‎close‎allclct=[0:pi/20:5*pi];plot(t,sin(t),'r:*')axis([0 5*pi -1.5 1.5 ])%给x轴和y‎轴命名xlabe‎l('t(deg)')ylabe‎l('magni‎t ude')%给图形加标‎题title‎('sine wave from zero to 5\pi')%在指定位置‎创建说明性‎文字text(pi/2,sin(pi/2),'\bulle‎t\lefta‎r row The sin(t) at t=2')%图形文字标‎示命令的使‎用clear‎close‎allclct=[0:pi/20:5*pi];plot(t,sin(t),'r:*')axis([0 5*pi -1.5 1.5 ])%给x轴和y‎轴命名xlabe‎l('t(deg)')ylabe‎l('magni‎t ude')%给图形加标‎题title‎('sine wave from zero to 5\pi')%在指定位置‎创建说明性‎文字text(pi/2,sin(pi/2),'\bulle‎t\lefta‎r row The sin(t) at t=2') %输入特定的‎字符%\pi%\alpha‎%\lefta‎r row%\right‎a rrow‎%\bulle‎t(点号)hold onplot(t,cos(t))%区分图形上‎不同的曲线‎legen‎d('sin(t)','cos(t)')%用鼠标在特‎定位置输入‎文字gtext‎('文字标示命‎令举例') hold offexp2_‎6.m%图形分割命‎令的使用clear‎close‎allclct=[0:pi/20:5*pi];subpl‎o t(321)plot(t,sin(t))axis([0 16 -1.5 1.5]) xlabe‎l('t(deg)') ylabe‎l('magni‎t ude') grid ontitle‎('sin(t)')subpl‎o t(322)plot(t,-sin(t))axis([0 16 -1.5 1.5]) xlabe‎l('t(deg)') ylabe‎l('magni‎t ude') grid ontitle‎('-sin(t)') subpl‎o t(323)plot(t,cos(t))axis([0 16 -1.5 1.5]) xlabe‎l('t(deg)') ylabe‎l('magni‎t ude') grid ontitle‎('cos(t)')subpl‎o t(324)plot(t,-cos(t))axis([0 16 -1.5 1.5]) xlabe‎l('t(deg)') ylabe‎l('magni‎t ude') grid ontitle‎('-cos(t)') subpl‎o t(325) subpl‎o t(326)exp2_‎7.mclcclear‎%绘制对应于‎每个输入x‎的输出y的‎高度条形图‎subpl‎o t(221)x=[1 2 3 4 5 6 7 8 9 10];y=[5 6 3 4 8 1 10 3 5 6];bar(x,y)%绘制x1在‎以y1为中‎心的区间中‎分布的个数‎条形图subpl‎o t(222)x1=randn‎(1,1000);%生成100‎0个各随机‎数y1=-3:0.1:3;hist(x1,y1)%绘制y2对‎应于x2的‎梯形图subpl‎o t(223)x2=0:0.1:10;y2=1./(x2.^3-2.*x2+4);stair‎s(x2,y2)%绘制y3对‎应于x3的‎散点图subpl‎o t(224)x3=0:0.1:10;y3=1./(x2.^3-2.*x2+4);stem(x3,y3)exp2_‎8.mecho off % 不显示程序‎内容%clear‎allclear‎clca=4;b=6disp('暂停,请按任意键‎继续') % disp指‎令可以用来‎显示字符pause‎% 暂停,直到用户按‎任意键echo on% 显示程序内‎容,注意mat‎l ab默认‎是不显示c=a+b% 暂时把控制‎权交给键盘‎(在命令窗口‎中出现k提‎示符), % 输入ret‎u rn,回车后退出‎,继续执行下‎面的语句。

MATLAB程序代码

MATLAB程序代码
dyk =
0.0444
B =
679.6289
595.7766
x =
29.9993
y =
0.1500
dxk =
37.2723
dyk =
0.1500
B =
689.1351
592.6738
x =
39.9972
y =
0.3555
dxk =
47.2702
dyk =
0.3555
B =
698.6719
589.6662
y0=604.47 %%%JD0的坐标
x1=757.119
y1=569.527 %%%JD1的坐标
dx=x0-x1
dy=y0-y1
L=(dx^2+dy^2)^0.5 %JD1到ID2的距离
T=T1(12,28,37) %%%切线长
xk0=T-L
yk0=0 %JD0的局部坐标
xk1=T
yk1=0 %JD1的局部坐标
matlab程序代码以及运行结果functiondetailedexplanationgoesherex0653779y060447jd0的坐标x1757119y1569527jd1的坐标dxx0x1dyy0y1ldx2dy205jd1到id2的距离tt1122837切线长xk0tlyk00jd2的局部坐标c09473s03203预设cos和sin求左端缓和曲线x局部坐标求左端缓和曲线y局部坐标dxkxxk0dykyyk0bx0
%求左端缓和曲线Y局部坐标
dxk=x-xk0
dyk=y-yk0
B=[x0;y0]+[c,-s;s,c]*[dxk;dyk]
%进行坐标换算
end

matlab中while 1的用法

matlab中while 1的用法

题目:深入探讨MATLAB中while 1的用法一、引言MATLAB(Matrix Laboratory)是一种强大的数学软件,广泛应用于工程、科学领域的数据分析和可视化。

在MATLAB中,while循环是一种常见的控制结构,用于根据特定条件重复执行一段代码。

本文将深入探讨MATLAB中while 1的用法,以便读者更好地理解和应用该特性。

二、while 1的基本语法在MATLAB中,while 1是一种常见的编程技巧,用于创建一个无限循环。

它的基本语法如下:```while 1循环体代码end```其中,while关键字后的条件表达式为1,表示条件始终为真,因此循环将无限执行下去。

在循环体内部,可以编写一系列需重复执行的代码逻辑。

三、while 1的应用场景1. 任务监控在实际编程中,while 1常用于任务监控的场景。

当需要不断监听外部输入或者定时执行某个任务时,可以使用while 1构建一个持续监控的循环。

2. 实时数据处理MATLAB常用于处理实时数据,而while 1循环则可以保证对实时数据进行持续性的处理和分析。

这种用法通常用于传感器数据的采集与处理,网络数据的实时传输等场景。

3. 程序测试与调试在程序测试和调试阶段,while 1循环也具有重要作用。

它能够让程序持续执行,方便程序员观察程序行为、调试代码逻辑、捕捉异常等。

4. 无限循环有些情况下,程序需要执行一个没有终止条件的循环。

此时,while 1循环可派上用场,实现程序的无限循环。

四、while 1的注意事项1. 防止死循环使用while 1循环时,务必小心防止死循环。

在循环体内部必须有合适的跳出机制,否则程序将陷入无尽的循环之中,造成系统资源的浪费和程序的崩溃。

2. 兼顾性能和效率在使用while 1循环时,要注意兼顾性能和效率。

循环体内的代码应尽量简洁高效,避免不必要的计算和重复操作,以提高程序的执行效率。

3. 注意程序运行时间无限循环可能导致程序长时间运行,因此需特别留意程序的运行时间。

MATLAB应用实验指导书1234-结果

MATLAB应用实验指导书1234-结果

MATLAB应用实验指导书1234-结果************************ MATLAB语言实验指导书************************中国矿业大学信息与电气工程学院2014年3月实验一 MATLAB 工作环境熟悉及基本运算一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。

掌握基本的矩阵运算及常用的函数。

二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条(Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。

(1)(365-522-70) 3 = (2)area=pi*^2 = (3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -== 576 (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。

m1=11514412679810115133216 执行以下命令>>m1( 2 , 3 )=10 >>m1( 11 )=6>>m1( : , 3 )= 3 10 6 15>>m1( 2 : 3 , 1 : 3 )=[ 5 11 10;9 7 6]>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)=34(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i )=5 (6)执行命令>>x=0::6*pi; >>y=5*sin(x); >>plot(x,y)(7)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。

Matlab程序编制简介

Matlab程序编制简介

的正实根. 例1:用二分法求函数 :用二分法求函数x^2-2=0的正实根 的正实根
f ( x) = x2 2, [a, b] = [1,2], f (a) f (b) < 0
1)c = (a + b) / 2 : if f (c) = 0(| f (c) |< r), g = c;
elseif f (c) f (a) < 0 b = c, f (b) = f (c);
例2:求阶乘:p=1×2 × 3 × … × n=n! :求阶乘: ×
n=input('请输入 n= ') 请输入 p=1 for i=1:n p=p*i fprintf(' i=%.0f, p=%.0f\n ',i,p) end aa2.m
例3:求e:e=1+1+1/2!+1/3!+…+1/n! : : n=input('请输入 n= ') 请输入 p=1;e=1 for i=1:n p=p*i p1=1/p e=e+p1 fprintf(' i=%.0f, p=%.0f, e=%.8f \n ',i,p,e); end
a=input(‘a=‘) b=input(‘b=‘) n=input(‘n=‘) [p,q]=fun1(a,b,n); fprintf(‘(a+b)^n=%.4f,(a-b)^n=%.4f\n’,p,q)
数值计算问题举例
问题: 问题:求无理数的近似值 n A ( A > 1, n ≥ 2 ) 的近似值,再设计通用函数. 先求 2 的近似值,再设计通用函数.
例7:建立符号函数 :建立符号函数sgn(x)
function sn=sgn(x) if x>0 sn=1; elseif x==0 sn=0; else sn=-1; end 作为文件名存盘, 以sgn作为文件名存盘,即建立了函数。 作为文件名存盘 即建立了函数。 调用: 调用: 在命令区执行 : sn=sgn(10)或sn=sgn(-2) 或

方程组的各种解法法的Matlab程序及运行结果

方程组的各种解法法的Matlab程序及运行结果

1.列主元高斯消去法M文件function[x]=gauss(a,b)n=length(a);x=zeros(n,1);a=[a b];for k=1:n-1max=k;for i=k+1:nif a(i,k)>a(max,k)max=i;endendtemp=a(k,k:n+1);a(k,k:n+1)=a(max,k:n+1);a(max,k:n+1)=temp;for i=k+1:na(i,k)=-a(i,k)/a(k,k);a(i,k+1:n+1)=a(i,k+1:n+1)+a(i,k)*a(k,k+1:n+1);endendx(n,1)=a(n,n+1)/a(n,n);for i=n-1:-1:1sum=0;for j=i+1:nsum=sum+x(j,1)*a(i,j);endx(i,1)=(a(i,n+1)-sum)/a(i,i);endMatlab运行结果2.LU三角分解法M文件function y=LU(A,B);n=length(A);A=[A B];for k=1:n-1;for i=k:n;if(abs(A(i,k))==max(abs(A(k:n,k))))P(k)=i;temp=A(k,:);A(k,:)=A(i,:);A(i,:)=temp;endendfor j=k+1:n;A(j,k)=A(j,k)/A(k,k);A(j,k+1:n+1)=A(j,k+1:n+1)-A(j,k)*A(k,k+1:n+1);endendP(n)=n;L(1,1)=1;L(2:n,1)=A(2:n,1);L(1,2:n)=0;U(1,1)=A(1,1);U(2:n,1)=0;U(1,2:n)=A(1,2:n);for i=2:n;L(i,1:i-1)=A(i,1:i-1);L(i,i)=1;L(i,i+1:n)=0;U(i,1:i-1)=0;U(i,i:n)=A(i,i:n);endx(n) = A(n,n+1)/U(n,n);for k = n-1:-1:1x(k)=A(k,n+1);for p=n:-1:k+1;x(k) = x(k)-U(k,p)*x(p); endx(k)=x(k)/U(k,k);endxLUPEndMatlab运行结果3.龙贝格(Romberg)算法M文件function[t]=romberg(f,a,b,e)t=zeros(15,4);t(1,1)=(b-a)/2*(f(a)+f(b));for k=2:4sum=0;for i=1:2^(k-2)sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));endt(k,1)=0.5*t(k-1,1)+(b-a)/2^(k-1)*sum;for i=2:kt(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);endendfor k=5:15sum=0;for i=1:2^(k-2)sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));endt(k,1)=0.5*t(k-1,1)+(b-a)/2^(k-1)*sum;for i=2:4t(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);endif k>6if abs(t(k,4)-t(k-1,4))<edisp(['答案',num2str(t(k,4))]);break;endendendif k>=15disp(['溢出']);endMatlab运行结果4.最小二乘法M文件function[a,max,det]=zuixiaoerchengfa(x,y,r) n=length(x);c=ones(n,r+1);for i=2:r+1for j=1:nc(j,i)=x(j)^(i-1);endendA=c'*c;b=c'*y';a=inv(A)*b;det=0;max=0;for i=1:nsum=a(1);for j=2:r+1sum=sum+a(j)*x(i)^(j-1);endcc=abs(y(i)-sum);if cc>maxmax=cc;enddet=det+cc^2;enddet=sqrt(det);Matlab运行结果§2.1.1 二分法的MATLAB主程序function [k,x,wuca,yx]=erfen(a,b,abtol)a(1)=a; b(1)=b;ya=fun(a(1)); yb=fun(b(1)); %程序中调用的fun.m 为函数if ya* yb>0,disp('注意:ya*yb>0,请重新调整区间端点a和b.'), returnendmax1=-1+ceil((log(b-a)- log(abtol))/ log(2)); % ceil是向+方向取整∞for k=1: max1+1a;ya=fun(a); b;yb=fun(b); x=(a+b)/2;yx=fun(x); wuca=abs(b-a)/2; k=k-1;[k,a,b,x,wuca,ya,yb,yx]if yx==0a=x; b=x;elseif yb*yx>0b=x;yb=yx;elsea=x; ya=yx;endif b-a< abtol , return, endendk=max1; x; wuca; yx=fun(x);§2.1.2 不动点迭代法的MATLAB主程序function [k,piancha,xdpiancha,xk,yk]=diedai2(x0,tol,ddmax) x(1)=x0;for i=1: ddmaxx(i+1)=fun(x(i));piancha=abs(x(i+1)-x(i));xdpiancha=piancha/( abs(x(i+1))+eps);i=i+1;xk=x(i);yk=fun(x(i)); [(i-1) piancha xdpiancha xk yk]if (piancha<tol)|(xdpiancha< tol)k=i-1; xk=x(i);return;endendif i>ddmaxdisp('迭代次数超过给定的最大值ddmax')k=i-1; xk=x(i);yk=fun(x(i));[(i-1) piancha xdpiancha xk yk];return;endP=[(i-1),piancha,xdpiancha,xk,yk]';§2.1.3 艾特肯加速迭代法的MATLAB主程序function [k,xk,yk,p]= Aitken (x0,tol, ddmax)x(1)=x0;for i=1: ddmaxx1(i+1)=fun(x(i)); x2(i+1)=fun(x1(i+1));x(i+1)=x2(i+1)-(x2(i+1)-x1(i+1))^2/(x2(i+1)-2*x1(i+1)+ x(i));piancha=abs(x(i+1)-x(i));xdpiancha= piancha/( abs(x(i+1))+eps);i=i+1; xk=x(i);yk=fun(x(i));if (piancha<tol)|(xdpiancha<tol)k=i-1; xk=x(i); yk=fun(x(i));m=[0,1:i-1]; p=[m',x1',x2',x'];return;endendif i>ddmaxdisp('迭代次数超过给定的最大值ddmax')k=i-1; xk=x(i); yk=fun(x(i));m=[0,1:i-1]; p=[m',x1',x2',x'];return;endm=[0,1:i-1]; p=[m',x1',x2',x'];§2.1.4 牛顿切线法的MATLAB主程序function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxmax) x(1)=x0;for i=1: gxmaxx(i+1)=x(i)-fun(x(i))/(dfun(x(i))+eps);piancha=abs(x(i+1)-x(i));xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1;xk=x(i);yk=fun(x(i)); [(i-1) xk yk piancha xdpiancha]if (abs(yk)<ftol)&((piancha<tol)|(xdpiancha< tol))k=i-1; xk=x(i);[(i-1) xk yk piancha xdpiancha]return;endendif i>gxmaxdisp('请注意:迭代次数超过给定的最大值gxmax。

matlab程序及其结果

matlab程序及其结果

function varargout = keshe(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @keshe_OpeningFcn, ...'gui_OutputFcn', @keshe_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before keshe is made visible.function keshe_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);% --- Outputs from this function are returned to the command line. function varargout = keshe_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;function edit1_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit2_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)axes(handles.axes1);claa=get(handles.edit1,'string');b=get(handles.edit2,'string');aa=tf(str2num(a),str2num(b));axes(handles.axes1);rlocus(aa,'r');%set(handles.edit5,'string',[]);% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)a=get(handles.edit1,'string');b=get(handles.edit2,'string');axes(handles.axes2);sys=tf(str2num(a),str2num(b));sys=feedback(sys,1);pzmap(sys)%••••••••••••••••••••% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)set(handles.edit1,'string',[]);set(handles.edit2,'string',[]);set(handles.edit5,'string',[]);set(handles.edit3,'string',[]);set(handles.edit4,'string',[]);set(handles.edit6,'string',[]);set(handles.edit7,'string',[]);set(handles.edit11,'string',[]);set(handles.edit8,'string',[]);set(handles.edit12,'string',[]);set(handles.edit9,'string',[]);set(handles.edit10,'string',[]);set(handles.edit13,'string',[]);axes(handles.axes1)claaxes(handles.axes2)cla% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)a=get(handles.edit1,'string');b=get(handles.edit2,'string');aa=tf(str2num(a),str2num(b));num=aa.num{1};den=aa.den{1};p=roots(den);z=roots(num);n=length(p);m=length(z);axes(handles.axes1)claaxes(handles.axes1);rlocus(aa,'r');hold onif n>ms=(sum(p)-sum(z))/(n-m);set(handles.edit5,'string',s);sd=[];if nargout<1for i=1:n-msd=[sd,s];endsysa=zpk([],sd,1);hold on;[r,k]=rlocus(sysa);for i=1:n-mplot(real(r(i,:)),imag(r(i,:)),'g:');endendend% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)a=get(handles.edit1,'string');b=get(handles.edit2,'string');aa=tf(str2num(a),str2num(b));sys=feedback(aa,1);%axes(handles.axes2);[p,z]=pzmap(sys);if real(p)<0set(handles.edit3,'string','YES')else set(handles.edit3,'string','NO')endfunction edit3_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));End% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)close% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)a=get(handles.edit1,'string');b=get(handles.edit2,'string');sys=tf(str2num(a),str2num(b));[K,s]=breakin(sys);if isempty(s)set(handles.edit4,'string','No Unit');elsett=num2str(s);set(handles.edit4,'string',tt);endfunction [K,s]=breakin(sys)sys=tf(sys);num=sys.num{1};den=sys.den{1};a=conv(den,polyder(num));b=conv(num,polyder(den));dk_ds=([zeros(1,length(b)-length(a)),a]-b);ss=roots(dk_ds);K=[];s=[];syms nums densfor i=1:length(ss)nums=poly2sym(num,'s');%得到分子多项式表达式dens=poly2sym(den,'s');Kk(i)=-subs(dens/nums,'s',ss(i));%得到某分离点所对应增益值if Kk(i)>0K=[K,Kk(i)];s=[s,ss(i)];%舍去负增益对应分离点elseS='木有分离点';endendfunction edit4_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit5_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)a=get(handles.edit1,'string');b=get(handles.edit2,'string');aa=tf(str2num(a),str2num(b));[K,Wcg]=imwk(aa);if isempty(Wcg)set(handles.edit6,'string','NULL');set(handles.edit7,'string','NULL');elsegg=num2str(Wcg);mm=num2str(K);set(handles.edit6,'string',gg);set(handles.edit7,'string',mm);end[K0,Wcg0]=imwk(aa);kt=num2str(K0);set(handles.edit8,'string',kt);set(handles.edit11,'string','0');[K1,st]=breakin(aa);kz=num2str(K1);set(handles.edit12,'string',kz);[K2,Wcg2]=imwk(aa);kzz=num2str(K2);set(handles.edit9,'string',kzz);[K3,s]=breakin(aa);set(handles.edit13,'string','0');kw=num2str(K3);set(handles.edit10,'string',kw);function [K,Wcg]=imwk(sys)sys=tf(sys);num=sys.num{1};den=sys.den{1};asys=allmargin(sys);Wcg=asys.GMFrequency;K=asys.GainMargin;function edit6_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit7_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit8_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit8_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit9_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit9_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit10_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit10_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit11_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit11_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction edit12_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit12_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit13_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit13_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit14_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit14_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit15_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit15_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit16_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit16_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on button press in pushbutton10.function pushbutton10_Callback(hObject, eventdata, handles)global mmc=get(handles.edit14,'string');a=get(handles.edit15,'string');b=get(handles.edit16,'string');Gk=tf(str2num(a),str2num(b));switch mmcase 1Gkd=c2d(Gk,str2num(c),'zoh');case 2Gkd=c2d(Gk,str2num(c),'foh');endset(handles.pushbutton12,'Enable','on');axes(handles.axes3);rlocus(Gkd);% --- Executes on button press in pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles)set(handles.edit14,'string',1);set(handles.edit15,'string',[]);set(handles.edit16,'string',[]);set(handles.edit17,'string',[]);set(handles.edit18,'string',[]);set(handles.pushbutton12,'Enable','off');set(handles.pushbutton13,'Enable','off');axes(handles.axes3)cla% --- Executes on button press in pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles)global kk;c=get(handles.edit14,'string');a=get(handles.edit15,'string');b=get(handles.edit16,'string');Gk=tf(str2num(a),str2num(b));Gkd=c2d(Gk,str2num(c));[kk,poles]=rlocfind(Gkd);set(handles.pushbutton13,'Enable','on');% --- Executes on button press in pushbutton13.function pushbutton13_Callback(hObject, eventdata, handles)global kk;set(handles.edit18,'string',kk);set(handles.edit17,'string','0');function edit17_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit17_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));endfunction edit18_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function edit18_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on selection change in popupmenu1.function popupmenu1_Callback(hObject, eventdata, handles)global mmmm=get(hObject,'Value');% --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end。

程序注释及运行结果

程序注释及运行结果

第二部分程序注释及运行结果读者须知:为了便于读者理解,现将光盘上第一部分可直接在MATLAB6.I 下运行的MATLAB程序的编号和书本上的内容对应如下,每个程序题目括号内的file.m是对应书本上的内容在光盘上第一部分的程序编号。

第二章的随机序列产生程序例2.1 用乘同余法产生随机数(见光盘FLch2sjxleg1.m)①编程如下:A=6; N=100; %初始化;x0=1; M=255;for k=1:N %乘同余法递推100次;x2=A*x0; %x2和x0分别表示x i和x i-1;x1=mod (x2,M); %将x2存储器的数除以M,取余数放x1(x i)中;v1=x1/256; %将x1存储器的数除以256得到小于1的随机数放v1中;)存放在矩阵存储器v的第k列中,v(:,k) v(:,k)=v1; % 将v1中的数(i%表示行不变、列随递推循环次数变化;x0=x1; %x i-1= x i;v0=v1;end %递推100次结束;v2=v %该语句末无‘;’,实现矩阵存储器v中随机数放在v2中,%且可直接显示在MA TLAB的window中;k1=k;%grapher %以下是绘图程序;k=1:k1;plot(k,v,k,v,'r');xlabel('k'), ylabel('v');tktle('(0-1)均匀分布的随机序列')②程序运行结果如图2.5所示。

图2.5 采用MA TLAB产生的(0,1)均匀分布的随机序列图③产生的(0-1)均匀分布的随机序列在程序运行结束后,产生的(0,1)均匀分布的随机序列,直接从MATLAB的window 界面中copy出来如下(v2中每行存6个随机数):v2 =0.0234 0.1406 0.8438 0.0820 0.4922 0.96090.7852 0.7266 0.3750 0.2578 0.5508 0.31640.9023 0.4336 0.6094 0.6680 0.0234 0.14060.8438 0.0820 0.4922 0.9609 0.7852 0.72660.3750 0.2578 0.5508 0.3164 0.9023 0.43360.6094 0.6680 0.0234 0.1406 0.8438 0.08200.4922 0.9609 0.7852 0.7266 0.3750 0.25780.5508 0.3164 0.9023 0.4336 0.6094 0.66800.0234 0.1406 0.8438 0.0820 0.4922 0.96090.7852 0.7266 0.3750 0.2578 0.5508 0.31640.9023 0.4336 0.6094 0.6680 0.0234 0.14060.8438 0.0820 0.4922 0.9609 0.7852 0.72660.3750 0.2578 0.5508 0.3164 0.9023 0.43360.6094 0.6680 0.0234 0.1406 0.8438 0.08200.4922 0.9609 0.7852 0.7266 0.3750 0.25780.5508 0.3164 0.9023 0.4336 0.6094 0.66800.0234 0.1406 0.8438 0.0820第二章的白噪声产生程序例2.2 用乘同余法产生(见光盘FLch2bzsheg2.m)①编程如下:A=6; x0=1; M=255; f=2; N=100;%初始化;x0=1; M=255;for k=1: N %乘同余法递推100次;x2=A*x0; %分别用x2和x0表示x i+1和x i-1;x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中;v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中;)减去0.5再乘以存储器f中的系数,存放v(:,k)=(v1-0.5 )*f; %将v1中的数(i在矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化;x0=x1; % x i-1= x i;v0=v1;end %递推100次结束;v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MA TLAB的window中;k1=k;%grapher %以下是绘图程序;k=1:k1;plot(k,v,k,v,'r');xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')②程序运行结果如图2.6所示。

matlab语法规则

matlab语法规则

matlab语法规则摘要:1.MATLAB简介2.MATLAB基本语法规则3.变量与数据类型4.运算符与表达式5.流程控制6.函数与程序设计7.矩阵操作与线性方程组求解8.图形绘制与可视化9.实例演示正文:一、MATLAB简介MATLAB是一种高性能的科学计算软件,广泛应用于数学计算、算法开发、数据分析、工程仿真等领域。

它具有丰富的函数库、简洁的语法规则以及强大的可视化功能,为科研和工程人员提供了便捷的计算工具。

二、MATLAB基本语法规则1.命令行输入:在MATLAB中,用户可以通过命令行输入指令,进行各种操作。

例如:`x = 1+2` 用于计算1+2的结果,并将结果赋值给变量x。

2.变量名:变量名需遵循一定的命名规则,例如:变量名不能包含空格、特殊字符,长度不超过63个字符等。

变量名区分大小写。

3.数据类型:MATLAB支持多种数据类型,如整型(int)、浮点型(float)、字符型(char)、逻辑型(logical)等。

4.运算符与表达式:MATLAB支持常见的数学运算符,如加、减、乘、除等。

此外,还支持求幂、求反正切等运算。

例如:`y = sin(x)` 用于计算x的正弦值。

三、变量与数据类型1.变量的创建:使用赋值运算符(=)创建变量。

如:`x = 10;` 创建一个名为x的整型变量,并将其值设为10。

2.数据类型的转换:使用`type()`函数查看变量类型,使用`cast()`函数进行数据类型转换。

例如:`cast(x, "double")`将整型变量x转换为双精度浮点型。

四、运算符与表达式1.运算符:包括算术运算符、关系运算符、逻辑运算符等。

2.表达式:由变量、常数、运算符组成的式子。

如:`x + y * z` 用于计算x、y、z三者的和。

五、流程控制1.条件语句:使用`if`、`elseif`、`else`实现条件判断。

2.循环语句:使用`for`、`while`进行循环操作。

matlab不同类型变量做运算的结果

matlab不同类型变量做运算的结果

matlab不同类型变量做运算的结果
在MATLAB中,不同类型的变量进行运算时,会自动进行类
型转换以便进行计算。

下面列出了常见的不同类型变量进行运算后的结果:
1. 数值类型运算:
- 当两个整数相加、相减、相乘或相除时,结果为整数。

- 当整数和浮点数相加、相减、相乘或相除时,结果为浮点数。

- 当两个浮点数相加、相减、相乘或相除时,结果为浮点数。

2. 字符串类型运算:
- 当两个字符串使用"+"操作符进行连接时,结果为一个新的
字符串,包含两个原始字符串的内容。

3. 逻辑类型运算:
- 当逻辑变量和数值变量进行运算时,逻辑变量会被转换为
数值变量进行计算,结果为数值变量。

- 当两个逻辑变量进行逻辑运算(如"&&"、"||"等),结果仍为逻辑变量。

4. 结构体类型运算:
- 当两个结构体进行运算时,不能直接进行运算,需要分别
对结构体的每个字段进行运算。

需要注意的是,当不同类型的变量进行运算时,可能会发生数
据类型转换的损失。

因此,在进行运算之前,应特别注意变量的类型,以确保得到正确的结果。

matlab系统使用方法

matlab系统使用方法

matlab系统使用方法Matlab是一种广泛应用于科学计算和工程设计的强大软件工具。

它提供了一种方便且高效的编程环境,使用户能够进行数据分析、可视化、算法开发和模型建立等。

本文将介绍Matlab的一些基本使用方法,帮助读者快速入门并掌握这个工具的基本技巧。

我们需要了解Matlab的界面。

当我们打开Matlab时,会出现一个称为Command Window的窗口,它是与Matlab交互的主要界面。

在Command Window中,我们可以输入命令或表达式,并立即看到结果。

此外,Matlab还提供了其他窗口,如Editor窗口用于编写和编辑代码,Workspace窗口用于管理变量,Figure窗口用于显示图形等。

接下来,让我们学习一些Matlab的基本操作。

首先是变量的定义和赋值。

在Matlab中,我们可以使用等号“=”来定义一个变量,并通过赋值运算符“=”为其赋值。

例如,如果我们要定义一个变量x并将其赋值为5,可以输入“x = 5”。

在Command Window中按下回车键后,变量x的值将被存储起来,并可以在后续的计算中使用。

除了基本的数值操作外,Matlab还提供了许多内置的函数和工具箱,用于处理不同类型的数据。

例如,如果我们想计算一个向量的平均值,可以使用Matlab提供的mean函数。

只需输入“mean(vector)”即可计算出向量的平均值。

Matlab还具有强大的矩阵操作功能。

我们可以使用矩阵来存储和处理数据。

在Matlab中,矩阵可以通过一对方括号来定义。

例如,我们可以使用以下命令定义一个3x3的矩阵A:A = [1, 2, 3; 4, 5, 6; 7, 8, 9]在以上命令中,分号用于分隔行,逗号用于分隔列。

定义完成后,矩阵A将被存储在内存中,并可以通过变量名进行调用。

Matlab还支持各种数学运算和函数,如加减乘除、幂运算、三角函数等。

我们可以直接在Command Window中输入表达式进行计算。

matlab指令大全

matlab指令大全

分享我的分享当前分享返回分享首页»分享 matlab命令,应该很全了!来源:李家叶的日志matlab命令一、常用对象操作:除了一般windows窗口的常用功能键外。

1、!dir 可以查看当前工作目录的文件。

!dir& 可以在dos状态下查看。

2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。

3、功能键:功能键快捷键说明方向上键 Ctrl+P 返回前一行输入方向下键 Ctrl+N 返回下一行输入方向左键 Ctrl+B 光标向后移一个字符方向右键 Ctrl+F 光标向前移一个字符Ctrl+方向右键 Ctrl+R 光标向右移一个字符Ctrl+方向左键 Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所在的字符Backspace Ctrl+H 删除光标前一个字符Ctrl+K 删除到行尾Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容,但并不清除工作空间。

二、函数及运算1、运算符:+:加,-:减, *:乘, /:除, \:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。

2、常用函数表:sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。

实验一信号基本运算的MATLAB实现

实验一信号基本运算的MATLAB实现

实验一信号基本运算的MATLAB实现MATLAB是一种用于数值计算和数据可视化的高级编程语言和环境。

它提供了丰富的函数和工具箱来处理信号。

在MATLAB中,我们可以进行一系列信号的基本运算,包括信号的加法、乘法、平移、取反等。

下面将介绍几种常见的信号基本运算的MATLAB实现方法。

1.信号的加法:信号的加法可以使用MATLAB的"+"操作符来实现。

例如,我们有两个信号x1和x2,它们的采样点分别存储在向量x1和x2中,我们可以使用以下代码将它们相加,并将结果存储在向量y中:```matlabx1=[1,2,3];x2=[4,5,6];y=x1+x2;disp(y); % 输出结果:5 7 9```2.信号的乘法:信号的乘法可以使用MATLAB的"\*"操作符来实现。

与信号的加法类似,我们可以将要相乘的信号存储在向量中,并使用"\*"操作符进行乘法运算。

例如,两个信号x1和x2的乘积可以用以下代码实现:```matlabx1=[1,2,3];x2=[4,5,6];y=x1.*x2;disp(y); % 输出结果:4 10 18```3.信号的平移:信号的平移是将信号在时间上移动一定的步长。

在MATLAB中,我们可以使用向量索引来实现信号的平移。

例如,我们有一个信号x,要将其向右平移3个单位,可以使用以下代码实现:```matlabx=[1,2,3,4,5];shift = 3;y = [zeros(1, shift), x];disp(y); % 输出结果:0 0 0 1 2 3 4 5```在上述代码中,我们使用了`zeros`函数生成了一个长度为平移步长的零向量,并将其与信号x进行拼接。

4.信号的取反:信号的取反是将信号的每个采样点的值取相反数。

在MATLAB中,我们可以使用"-"操作符来实现信号的取反。

例如,我们有一个信号x,要将其取反,可以使用以下代码实现:```matlabx=[1,-2,3,-4,5];y=-x;disp(y); % 输出结果:-1 2 -3 4 -5```在上述代码中,我们使用了"-"操作符来实现信号的取反。

循环比赛matlab的运行结果的特征值

循环比赛matlab的运行结果的特征值

循环比赛matlab的运行结果的特征值引言循环比赛是一种常见的赛事形式,参赛选手按照一定的规则进行多轮比赛,最后根据总分或其他评判标准确定最终胜利者。

在计算机领域,循环比赛的运行结果通常需要进行统计和分析,以了解选手在每个循环中的表现。

MATLAB作为一种强大的数值计算和数据分析工具,在循环比赛的运行结果特征值的计算中发挥着重要的作用。

本文将详细探讨如何利用MATLAB计算循环比赛的运行结果的特征值。

I. 读取比赛数据循环比赛的运行结果通常以表格或矩阵的形式存储。

首先,我们需要使用MATLAB 的文件读取函数将比赛数据导入到MATLAB的工作空间中。

MATLAB提供了多个读取函数,包括xlsread用于读取Excel文件,csvread用于读取CSV文件,以及load 用于读取MAT文件等。

根据实际情况选择合适的读取函数,并根据数据文件的格式进行配置。

读取到的数据将以矩阵或数组的形式保存在MATLAB的工作空间中,便于后续的计算和分析。

II. 计算每轮特征值对于循环比赛的运行结果,我们通常关心每轮选手的表现。

在MATLAB中,可以使用各种统计函数和计算方法来计算每轮的特征值。

下面列举了几个常用的示例:1. 平均值平均值是最常用的特征值之一,用于表示选手在每轮中的平均成绩或得分。

在MATLAB中,可以使用mean函数来计算每轮的平均值。

2. 最大值和最小值最大值和最小值分别表示选手在每轮中的最高和最低成绩或得分。

在MATLAB中,可以使用max和min函数来计算每轮的最大值和最小值。

3. 方差和标准差方差和标准差表示选手在每轮中成绩或得分的离散程度。

方差越大,表示每轮选手的成绩变化较大;标准差越大,表示每轮选手的成绩离平均值较远。

在MATLAB中,可以使用var和std函数来计算每轮的方差和标准差。

III. 汇总特征值除了计算每轮的特征值外,我们通常还关心选手在整个比赛中的表现。

在MATLAB 中,可以使用各种汇总函数和计算方法来计算整个比赛的特征值。

MATLAB_程序运行结果

MATLAB_程序运行结果

MATLAB程序及运行结果>>【%第1题】[x,y]=meshgrid(-3:0.1:3) %创建网格数据z=3.*(1-x).^2.*exp(-x.^2-(y+1).^2)...-10.*(x./5-x.^3-y.^5).*exp(-x.^2-y.^2)...-(1/3).*exp(-(x+1).^2-y.^2); %输入函数式subplot(2,2,1); %设置2行2列的子图的第1图mesh(x,y,z); %画出网状图colormap(autumn) %当前图形窗的着色色图为autumnhidden off %显示遮住的部分axis tight %把数据范围直接设置为坐标范围title('表现图形的隐含部分') %设置标题subplot(2,2,2)mesh(x,y,z)shading flattitle('带阴影的三维图形')z=peaks(x,y); %计算函数值subplot(2,2,3);meshc(x,y,z); %绘制带等高线的三维图形title('带等高线的三维图形')subplot(2,2,4)contour3(x,y,z,20,'k'); %绘制三维图形的等高线xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis')title('三维图形的等高线')【运行结果略】@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第2题】%for循环:k=0;n=63; %设置初值for i=0:1:63 %建立63次循环k=k+2.^i;sum(k) %累加end %结束循环,并显示累加值k%WHILE循环:y=0;i=-1;while i<63;i=i+1;y=y+2^i; y=y+2.^i;endy% 避免循环: n=63;i=1:1:n;k=sum(2.^i)ans =1ans =3ans =7ans =15ans =31ans =63ans =127ans =255ans =511ans =1023ans =2047ans =4095ans =8191ans =16383ans =32767ans =65535ans =131071ans =262143ans =524287ans =1048575ans =2097151ans =4194303ans =8388607ans =16777215ans =33554431ans =67108863ans =134217727ans =268435455ans =536870911ans =1.0737e+009ans =2.1475e+009ans =4.2950e+009ans =8.5899e+009ans =1.7180e+010ans =3.4360e+010ans =6.8719e+010ans =1.3744e+011ans =2.7488e+011ans =5.4976e+011ans =1.0995e+012ans =2.1990e+012ans =4.3980e+012ans =8.7961e+012ans =1.7592e+013ans =3.5184e+013ans =7.0369e+013ans =1.4074e+014ans =2.8147e+014ans =5.6295e+014ans =1.1259e+015ans =2.2518e+015ans =4.5036e+015ans =9.0072e+015ans =1.8014e+016ans =3.6029e+016ans =7.2058e+016ans =1.4412e+017ans =2.8823e+017ans =5.7646e+017ans =1.1529e+018ans =2.3058e+018ans =4.6117e+018ans =9.2234e+018ans =1.8447e+019k =1.8447e+019y =3.6893e+019k =1.8447e+019@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第3题】A=[4 12 20;12 45 78;20 78 136];B=[1 2 3;4 5 6;7 8 9];I=eye(3); %产生(3*3)的单位阵A+5*BA-B*IA.*B %A,B两数组之积A*B %矩阵A,B的积%答:“.*”符号表示乘法是在两个数组相同位置上的元素间进行;% “*”则指矩阵乘法A.^B %数组乘方A/B %矩阵A右除矩阵BA\B %矩阵A左除矩阵Bans =9 22 3532 70 10855 118 181ans =3 10 178 40 7213 70 127ans =4 24 6048 225 468140 624 1224ans =192 228 264738 873 10081284 1518 1752ans =1.0e+019 *0.0000 0.0000 0.00000.0000 0.0000 0.00000.0000 0.0001 1.5917Warning: Matrix is singular to working precision.ans =Inf Inf InfInf Inf InfInf Inf InfWarning: Matrix is singular to working precision.ans =Inf Inf InfInf Inf InfInf Inf Inf@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第4题】%(a)t=-1:0.01:1; %设置自变量x向量y=sin(1./t); %计算y值subplot(1,2,1),plot(t,y,'r-','LineWidth',2) %用2磅红实线画曲线axis([-1,1,-1.2,1.2]) %设置坐标范围text(0.01,1,'\fontsize{16}\itsin(1./t)\fontname{隶书}') %图形中文字标注title('y=sin(1./t)')xlabel('t') %设置横坐标ylabel('y') %设置纵坐标%(b)t=-pi:pi/100:pi;y=sin(tan(t))+tan(sin(t));subplot(1,2,2),plot(t,y,'g','LineWidth',2)axis([-pi,pi,-3,3])text(0.02/pi,1,'\fontsize{16}\itsin(1./t)\fontname{宋体}')title('y=sin(tan(t))+tan(sin(t))')xlabel('t')ylabel('y')Warning: Divide by zero.>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第5题】%(1)A=[7.5 3.5 0 0;8 22 4.1 0 ;0 9 103 -1.5;0 0 3.7 19.3];r=rank(A) %求A的秩trace(A) %求A的迹DA=det(A) %求A的行列式的值PA=poly(A) %A的特征多项式%(2)B=[5 7 6 5;7 0 8 7;6 8 10 9;5 7 9 10];r=rank(B) %求B的秩trace(B) %求B的迹DB=det(B) %求B的行列式的值PB=poly(B) %B的特征多项式r =4ans =151.8000DA =2.6776e+005PA =1.0e+005 *0.0000 -0.0015 0.0570 -0.7457 2.6776r =4ans =25DB =-249PB =1.0000 -25.0000 -104.0000 480.0000 -249.0000>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第6题】A=[7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13];B=[4;7;-1;0];Ra=rank(A) %A的秩Rab=rank([A,B]) %若rank([A,B])=rank(A),则B在A的列向量中X=A\B; %求出特征解Y=null(A); %求出齐次方程解Z=rand(1); %随机数M=A*(X+Z) %求A与一个随机数的全解的乘积Mnorm(M-B) %检查M与B的接近程度Ra =4Rab =4M =11.601030.753210.401618.0525ans =32.8311>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第7题】%(1-a)syms x %设置变量X为符号变量Isym=vpa(int(sin(x)/x,x,0,2)) %32位精度积分%(1-b)syms xI1=sin(x)/x; %表达式r=int(I1,0,2) %积分eval(r)%(2 )syms x;I2=1/((x-.3)^2+0.01)+1/((x-.9)^2+0.04)-6;R=int(I2,0,1)eval(R)%(3 )syms xIa=vpa(int(exp(x^2),x,0,2)); %计算Ia从0到2的定积分Ib=vpa(int(1/(4-sin(16*pi*x)),x,2,4)); %计算Ib从2到4的定积分I=Ia+IbIsym =1.6054129768026948485767201481986r =sinint(2)ans =1.6054R =10*atan(7)+5*atan(1/2)-6+10*atan(3)+5*atan(9/2)ans =29.8583I =16.969025545001552476093639840806>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>【%第8题】x0=1:10;y0=[-2.9414,-1.3807,-1.1918,-0.7284,-0.5484,...-0.2656,-0.0963,0.9794,0.9800,1.8860] %给定数据对n=3; %多项式阶数为3p=polyfit(x0,y0,n) %3阶多项式拟合xx=1:0.1:10yy=polyval(p,xx) %多项式的计算值plot(x0,y0,'o',xx,yy,'.r') %实验数据与拟合曲线hold on %保持图形x=1:0.1:10; %插值数据yy=interp1(x0,y0,x,'cubic') %三次插值plot(x0,y0,'*',x,yy,'-c') %绘制图形legend('原始数据','拟合插值','三次插值') %图形标注y0 =Columns 1 through 7-2.9414 -1.3807 -1.1918 -0.7284 -0.5484 -0.2656 -0.0963Columns 8 through 100.9794 0.9800 1.8860p =0.0137 -0.2312 1.5375 -4.0422xx =Columns 1 through 71.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000Columns 8 through 141.7000 1.8000 1.90002.0000 2.1000 2.2000 2.3000Columns 15 through 212.4000 2.5000 2.6000 2.7000 2.8000 2.90003.0000Columns 22 through 283.1000 3.2000 3.3000 3.4000 3.5000 3.6000 3.7000Columns 29 through 353.8000 3.90004.0000 4.1000 4.2000 4.3000 4.4000Columns 36 through 424.5000 4.6000 4.7000 4.8000 4.90005.0000 5.1000Columns 43 through 495.2000 5.3000 5.4000 5.5000 5.6000 5.7000 5.8000Columns 50 through 565.90006.0000 6.1000 6.2000 6.3000 6.4000 6.5000Columns 57 through 636.6000 6.7000 6.8000 6.90007.0000 7.1000 7.2000Columns 64 through 707.3000 7.4000 7.5000 7.6000 7.7000 7.8000 7.9000Columns 71 through 778.0000 8.1000 8.2000 8.3000 8.4000 8.5000 8.6000Columns 78 through 848.7000 8.8000 8.9000 9.0000 9.1000 9.2000 9.3000 Columns 85 through 919.4000 9.5000 9.6000 9.7000 9.8000 9.9000 10.0000 yy =Columns 1 through 7-2.7221 -2.6124 -2.5064 -2.4040 -2.3051 -2.2097 -2.1177 Columns 8 through 14-2.0291 -1.9436 -1.8613 -1.7820 -1.7057 -1.6323 -1.5617 Columns 15 through 21-1.4939 -1.4286 -1.3660 -1.3058 -1.2481 -1.1926 -1.1394 Columns 22 through 28-1.0883 -1.0393 -0.9923 -0.9472 -0.9039 -0.8623 -0.8224 Columns 29 through 35-0.7841 -0.7472 -0.7118 -0.6777 -0.6449 -0.6132 -0.5826 Columns 36 through 42-0.5530 -0.5243 -0.4964 -0.4693 -0.4428 -0.4169 -0.3916 Columns 43 through 49-0.3666 -0.3420 -0.3177 -0.2935 -0.2694 -0.2453 -0.2212 Columns 50 through 56-0.1969 -0.1723 -0.1474 -0.1221 -0.0964 -0.0700 -0.0431 Columns 57 through 63-0.0153 0.0132 0.0426 0.0731 0.1045 0.1372 0.1710 Columns 64 through 700.2062 0.2427 0.2808 0.3204 0.3616 0.4046 0.4493 Columns 71 through 770.4960 0.5446 0.5953 0.6481 0.7031 0.7604 0.8201 Columns 78 through 840.8823 0.9470 1.0144 1.0845 1.1573 1.2331 1.3117 Columns 85 through 911.3935 1.4783 1.5664 1.6578 1.7525 1.8507 1.9524 yy =Columns 1 through 7-2.9414 -2.7188 -2.5023 -2.2953 -2.1009 -1.9224 -1.7629 Columns 8 through 14-1.6258 -1.5143 -1.4315 -1.3807 -1.3505 -1.3265 -1.3073 Columns 15 through 21-1.2914 -1.2777 -1.2646 -1.2508 -1.2350 -1.2158 -1.1918 Columns 22 through 28-1.1594 -1.1175 -1.0686 -1.0149 -0.9590 -0.9031 -0.8497 Columns 29 through 35-0.8012 -0.7600 -0.7284 -0.7043 -0.6835 -0.6653 -0.6488 Columns 36 through 42-0.6335 -0.6185 -0.6033 -0.5870 -0.5689 -0.5484 -0.5246 Columns 43 through 49-0.4976 -0.4683 -0.4375 -0.4060 -0.3745 -0.3440 -0.3151 Columns 50 through 56-0.2887 -0.2656 -0.2463 -0.2302 -0.2163 -0.2036 -0.1910 Columns 57 through 63-0.1777 -0.1625 -0.1446 -0.1228 -0.0963 -0.0425 0.0530Columns 64 through 700.1790 0.3244 0.4780 0.6287 0.7653 0.8767 0.9518 Columns 71 through 770.9794 0.9795 0.9796 0.9796 0.9797 0.9797 0.9797 Columns 78 through 840.9798 0.9798 0.9799 0.9800 0.9932 1.0309 1.0903 Columns 85 through 911.1686 1.2633 1.3716 1.4907 1.6179 1.7506 1.8860。

面元法计算机身的气动参数的matlab程序代码

面元法计算机身的气动参数的matlab程序代码

面元法计算超音速机身的气动参数的编程实验机身参数如下图所示:面元法计算机身的气动参数的matlab程序代码(仅供参考)function [] = surface(a,b,D,n)P=0;Q=0;R=0;L=D*4.2;A=16.5*pi/180;B=20*pi/180;S=pi*(L/4*tan(A)+D/2)^2for i=1:11X(i)=-a*(i-1)/10;r1=sqrt(1-(X(i)+a)*(X(i)+a)/(a*a))*b;for j=1:(n+1)Y(i,j)=r1*cos(2*pi*(j-1)/n);Z(i,j)=r1*sin(2*pi*(j-1)/n);endendfor i=12:21X(i)=-a-(i-11)*(L/4-a)/10;r2=-(X(i)+a)*tan(B)+b;for j=1:(n+1)Y(i,j)=r2*cos(2*pi*(j-1)/n);Z(i,j)=r2*sin(2*pi*(j-1)/n);endendfor i=22:31X(i)=-L/4-(i-21)*(L/2)/10;r3=D/2;for j=1:(n+1)Y(i,j)=r3*cos(2*pi*(j-1)/n);Z(i,j)=r3*sin(2*pi*(j-1)/n);endendfor i=32:41X(i)=-L*3/4-(i-31)*(L/4)/10;r4=(-X(i)-L*3/4)*tan(A)+D/2;for j=1:(n+1)Y(i,j)=r4*cos(2*pi*(j-1)/n);Z(i,j)=r4*sin(2*pi*(j-1)/n) ;endendfor i=1:40for j=1:nk=(i-1)*n+j;p1(k,:)=[X(i) Y(i,j) Z(i,j)];p2(k,:)=[X(i) Y(i,(j+1)) Z(i,(j+1))];p3(k,:)=[X(i+1) Y((i+1),(j+1)) Z((i+1),(j+1))];p4(k,:)=[X(i+1) Y((i+1),j) Z((i+1),j)];T1(k,:)=p3(k,:)-p1(k,:);t0(k)=sqrt(dot(T1(k,:),T1(k,:)));t(k,:)=T1(k,:)/t0(k);T2(k,:)=p4(k,:)-p2(k,:);N(k,:)=cross(T2(k,:),T1(k,:));n0(k)=sqrt(dot(N(k,:),N(k,:)));n1(k,:)=N(k,:)/n0(k);s0(k,:)=(p1(k,:)+p2(k,:)+p3(k,:)+p4(k,:))/4;d1(k)=dot(n1(k,:),(s0(k,:)-p1(k,:)));d2(k)=dot(n1(k,:),(s0(k,:)-p2(k,:)));d3(k)=dot(n1(k,:),(s0(k,:)-p3(k,:)));d4(k)=dot(n1(k,:),(s0(k,:)-p4(k,:)));t1(k,:)=p1(k,:)+n1(k,:)*d1(k);t2(k,:)=p2(k,:)+n1(k,:)*d2(k);t3(k,:)=p3(k,:)+n1(k,:)*d3(k);t4(k,:)=p4(k,:)+n1(k,:)*d4(k);m(k,:)=cross(n1(k,:),t(k,:));x1(k)=dot(t(k,:),(t1(k,:)-s0(k,:)));y1(k)=dot(m(k,:),(t1(k,:)-s0(k,:)));z1(k)=0;x2(k)=dot(t(k,:),(t2(k,:)-s0(k,:)));y2(k)=dot(m(k,:),(t2(k,:)-s0(k,:)));z2(k)=0;x3(k)=dot(t(k,:),(t3(k,:)-s0(k,:)));y3(k)=dot(m(k,:),(t3(k,:)-s0(k,:)));z3(k)=0;x4(k)=dot(t(k,:),(t4(k,:)-s0(k,:)));y4(k)=dot(m(k,:),(t4(k,:)-s0(k,:)));z4(k)=0;s(k)=(x3(k)-x1(k))*(y2(k)-y4(k))/2;m0(k)=(x4(k)*(y1(k)-y2(k))+x2(k)*(y4(k)-y1(k)))/(3*(y2(k)-y4(k))); m1(k)=-y1(k)/3;m2(k)=0;p(k,:)=s0(k,:)+(t(k,:)*m0(k))+(m(k,:)*m1(k));endendfor q=-5:30i=q+6;V=[-cos(q*pi/180) 0 sin(q*pi/180)];cx=0;cy=0;mz=0;for k=1:(40*n)r(k)=pi/2-acos(-dot(n1(k,:),V)/norm(n1(k,:)));d=2.38+0.03792*r(k)-0.002521*r(k)^2+0.00004583*r(k)^3+2.917*10^(-7)*r(k )^4;if r(k)>=0cp(k)=d*sin(r(k))*sin(r(k));elsecp(k)=0;endcx=cx+cp(k)*n1(k,1)*s(k)/S;cy=cy-cp(k)*n1(k,3)*s(k)/S;mz=mz+(-n1(k,3)*p(k,1)+n1(k,1)*p(k,3))*cp(k)*s(k)/(L*S);ende=cx;f=cy;Cy(i)=-cx*sin(q*pi/180)+cy*cos(q*pi/180);Cx(i)=cx*cos(q*pi/180)+cy*sin(q*pi/180);Mz(i)=mz;szb(i)=Cy(i)/Cx(i);endfor i=1:36;x(i)=-6+i;endsubplot(2,3,1);plot(x,Cy,'r.-');xlabel('α');ylabel('Cy');hold on; subplot(2,3,2);plot(x,Cx,'b.-');xlabel('α');ylabel('Cz');hold on; subplot(2,3,3),plot(x,Mz,'c.-');xlabel('α');ylabel('Mz');hold on; subplot(2,3,4);plot(x,szb,'g.-');xlabel('α’);ylabel('L/D');hold on;for i=1:36ma(i)=4.5+(i-1)*6/35;endfor q=-5:5:30i=q+6;for j=1:36Y0(j)=Cy(i)*(ma(j)*299.46)^2*0.4127/2*S;Z0(j)=Cx(i)*(ma(j)*299.46)^2*0.4127/2*S;endsubplot(2,3,5);plot(ma,Y0,'m.-');xlabel('Ma');ylabel('Y');text(10,(-2*1 0^7),'α=-5°');text(10,(7*10^7),'α=30°');hold on;subplot(2,3,6);plot(ma,Z0,'r.-');xlabel('Ma');ylabel('Z');text(10,(10^7 ),'α=-5°');text(10,(7*10^7),'α=30°');hold on;endend运行结果如下图所示:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档