当前位置:文档之家› Matlab简单实例学习

Matlab简单实例学习

Matlab 程序代码绘制y = 10e-1.5t sin( 7.75t ) 的函数图象7.75fvclear;t=0:0.02:10;f1=10/sqrt(7.75).*exp(-1.5*t);f2=sin(sqrt(7.75).*t);y=f1.*f2;plot(t,y,'-k',t,y,'ok');xlabel('t');ylabel('y(t) ');title('函数图像')axis([-2 10 -0.5 2])拉氏变换clear;clc;syms s t fs1 fs2 fs3 ft1 ft2 ft3; L=1,C=0.1,R=[1.5 3 5]; h1=1/(L*C*s^2+R(1)*C*s+1); h2=1/(L*C*s^2+R(2)*C*s+1); h3=1/(L*C*s^2+R(3)*C*s+1);fs1=h1*(1/s);fs2=h2*(1/s);fs3=h3*(1/s);ft1=ilaplace(fs1,s,t);ft2=ilaplace(fs2,s,t);ft3=ilaplace(fs3,s,t);ezplot(t,ft1);hold on;ezplot(t,ft2);hold on;ezplot(t,ft3);信号编码对[1 1 0 1 1 1 0 1 0 0 1]进行编码。

clear;clc;c=[1 1 0 1 1 1 0 1 0 0 1]for i=1:length(c)if i==1d1(i)=0;d2(i)=0;elseif i==2d1(i)=c(i-1);d2(i)=c(i-1);elseif i==3d1(i)=mod(c(i-1)+c(i-2),2); d2(i)=c(i-1);elsed1(i)=mod(c(i-1)+c(i-2),2); d2(i)=mod(c(i-1)+c(i-3),2);endendd1d2迭代法使用一般迭代法求解方程的3x2=e x解。

第一根:clear;clc;x0=10;err=1;while (err>10^-6)F1=x0;F2=log(3*x0^2);err=abs(F1-F2);x0=F2;endx0第二根:clear;clc;x=1;err=1;while (err>10^-6)F1=x;F2=sqrt(exp(x)/3);err=abs(F1-F2); x=F2;endx第三根:clear; clc;x=10;err=1;while (err>10^-6) F1=x;F2=-sqrt(exp(x)/3); err=abs(F1-F2); x=F2; endx牛顿迭代法使用牛顿迭代法求解方程2x3-4x2+3x-6=0的解。

syms x fx fx1; fx=2*x^3-4*x^2+3*x-6; fx1=diff(fx) err=1;k=1;x0=1.5;while (err>10^-6 && k<=1000) x1=x0-(subs(fx,x,x0))/(subs(fx1,x,x0)) x0=x1;err=abs(x0-x1)k=k+1;endkx0牛顿迭代法求解使用牛顿迭代法求解方程x3-12x = sin x -1的解。

第一解:syms x fx fx1; fx=x.^3-sin(x)-12*x+1; fx1=diff(fx); err=1;k=1;x0=-4;while (err>10^-6 && k<=1000)x1=x0-(subs(fx,x,x0))/(subs(fx1,x,x0));err=abs(x0-x1);x0=x1;k=k+1;endkx0第二解:syms x fx fx1;fx=x.^3-sin(x)-12*x+1; fx1=diff(fx);err=1;k=1;x0=0;while (err>10^-6) && (k<=1000)x1=x0-(subs(fx,x,x0))/(subs(fx1,x,x0)); err=abs(x0-x1);x0=x1;k=k+1;end k x0第三解:syms x fx fx1;fx=x.^3-sin(x)-12*x+1; fx1=diff(fx); err=1;k=1;x0=4;while (err>10^-6) && (k<=1000)x1=x0-(subs(fx,x,x0))/(subs(fx1,x,x0)); err=abs(x0-x1);x0=x1;k=k+1;endkx0普通迭代法求解使用普通迭代法求解方程x3-12x = sin x -1的解。

clear; clc;err1=1;err2=1;err3=1;x01=3;x02=0;x03=-3;k=3;while (err1>10^-6) && (err2>10^-6) && (err3>10^-6) && (k<1000) F11=x01;F12=(sin(x01)+12*x01-1)^(1/3);err1=abs(F11-F12);x01=F12; %第一解F21=x02;F22=(x02^3-sin(x02)+1)/12;err2=abs(F21-F22);x02=F22; %第二解F31=x03;F32=-sqrt((sin(x03)-1)/x03+12);err3=abs(F31-F32);x03=F32; %第三解k=k+1;endx=[x01 x02 x03]调用matlab 函数求解方程。

clear;clc;syms x a b;p=x.^2-a*x-4*b; r=solve (p,x);rclear; %roots 求解法clc;syms x;p=[1 0 0 0 -1 2 -3];r=roots (p);clear; %solve 求解法clc;syms x;p=x.^6-x.^2+2*x-3; r=solve (p,x);r clear;clc; syms x f; f=@(x)x.*sin(x)-1; x0=1;tol=1e-6; z1=fzero (f,x0); x0=2.7;tol=1e-6; z2=fzero (f,x0); z=[z1 z2]clear;clc; %求非线性方程组的解sym x;fun='[x(1)-x(2)^2,x(2)-cos(x(1))]' x0=[1,2]f=fsolve(fun,x0)clear;clc; %求解非线性方程的解syms x; fun='[sin(x)-log(x+0.1)]'; x0=1; f=fsolve(fun,x0)矩阵基本操作clear;clc; %加、减、乘省略,只需补零即可运算A=[1 2 3 4;2 3 1 2;1 1 1 -1;1 0 -2 -6];B=[5;6;7;8];C1=A\B %左除C2=det(A) %求行列式C3=inv(A) %求逆C4=A^3 %求幂C5=rank(A) %求秩C6=A' %求转置C7=rref(A) %行变换简4 x + 2 x - x = 2 求解方程3x - x +2x =10 的解。

11x +3 x=8clear;clc;A=[4 2 -1;3 -1 2;11 3 0]; b=[2;10;8];rref(A)rref([A,b])R1=rank(A)R2=rank([A,b])2x+3y+z =4x - 2 y + 4z = -5 求解方程的解。

3x +8y - 2z =134 x - y + 9 z = -6clear;clc;A=[2 3 1 0;1 -2 4 0;3 8 -2 0;4 -1 9 0]; b=[4;-5;13;-6];rref(A)rref([A,b])R1=rank(A)R2=rank([A,b])x + 2 x - x + 4 x = -2 2 x - 3x - x - 5x = -23x + x + 2x + 11x = 0clear;clc;A=[1 1 1 1;1 2 -1 4;2 -3 -1 -5;3 1 2 11];b=[5;-2;-2;0];rref(A)rref([A,b])R1=rank(A)R2=rank([A,b])x +x +x + x =5 求解方程 的解。

多项式拟合clear;clc;x=0:0.1:1;y=[2.3 2.5 2.1 2.5 3.2 3.6 3.0 3.1 4.1 5.1 3.8]; %输入数据[p1,s1]=polyfit(x,y,2);[p2,s2]=polyfit(x,y,3);[p3,s3]=polyfit(x,y,7);y1=polyval(p1,x); y2=polyval(p2,x); y3=polyval(p3,x);r1=corrcoef(y,y1)r2=corrcoef(y,y2) r3=corrcoef(y,y3) plot(x,y,'.k',x,y1,'.r',x,y2,'.g',x,y3,'.b'); %求得多项式系数p% 由p 得到x 的多项式% 计算相关系数%图像中Insert->Legend 可加标注最小二乘拟合function y=f(x) %f 文件定义t=[0.25 0.5 1 1.5 2 3 4 6 8];c=[19.21 18.15 15.36 14.10 12.98 9.32 7.45 5.24 3.01]; y=c-x(1).*exp(-x(2).*t);clear;clc; %主程序t=[0.25 0.5 1 1.5 2 3 4 6 8];c=[19.21 18.15 15.36 14.10 12.98 9.32 7.45 5.24 3.01];[p,s]=polyfit(t,c,7); %求七阶多项式拟合y1=polyval(p,t);r1=corrcoef(c,y1)x0=[1 2];[x]=lsqnonlin('f',x0) %最小二乘拟合x y2=x(1).*exp(-x(2).*t);r2=corrcoef(c,y2)v=0:0.01:8;y11=polyval(p,v);plot(t,c,'ok',v,y11,'b',t,y2,'r'); legend('原函数','多项拟合','最小二乘拟合');最小二乘拟合function y=f1(x) %定义f1t=[0.5 1.0 1.5 2.0 2.5 3.0];c=[1.75 2.45 3.81 4.80 8.00 8.60]; y=c-x(1).*exp(-x(2).*t);clear;clc; %主程序t=[0.5 1.0 1.5 2.0 2.5 3.0];c=[1.75 2.45 3.81 4.80 8.00 8.60]; [p,s]=polyfit(t,c,7);y1=polyval(p,t); r1=corrcoef(c,y1) x0=[1 2];[x]=lsqnonlin('f1',x0) y=x(1).*exp(-x(2).*t);r2=corrcoef(c,y) v=0.5:0.01:3;y11=polyval(p,v);y2=x(1).*exp(-x(2).*v); plot(t,c,'o',v,y11,'r',v,y2,'g'); legend('数据','七次多项式拟合','最小二乘拟合');线性和非线性规划有约束优化求解函数f(x1+x2)=100(x2-x12)2+(1-x1)2在约束条件 1 2下最值。

相关主题