Matlab简单实例学习.docx

上传人:b****1 文档编号:2298828 上传时间:2022-10-28 格式:DOCX 页数:34 大小:331.32KB
下载 相关 举报
Matlab简单实例学习.docx_第1页
第1页 / 共34页
Matlab简单实例学习.docx_第2页
第2页 / 共34页
Matlab简单实例学习.docx_第3页
第3页 / 共34页
Matlab简单实例学习.docx_第4页
第4页 / 共34页
Matlab简单实例学习.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

Matlab简单实例学习.docx

《Matlab简单实例学习.docx》由会员分享,可在线阅读,更多相关《Matlab简单实例学习.docx(34页珍藏版)》请在冰豆网上搜索。

Matlab简单实例学习.docx

Matlab简单实例学习

Matlab程序代码

绘制的函数图象。

fv

clear;

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([-210-0.52])

拉氏变换

clear;

clc;

symsstfs1fs2fs3ft1ft2ft3;

L=1,C=0.1,R=[1.535];

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);

holdon;

ezplot(t,ft2);

holdon;

ezplot(t,ft3);

信号编码

对[11011101001]进行编码。

clear;

clc;

c=[11011101001]

fori=1:

length(c)

ifi==1

d1(i)=0;d2(i)=0;

elseifi==2

d1(i)=c(i-1);d2(i)=c(i-1);

elseifi==3

d1(i)=mod(c(i-1)+c(i-2),2);

d2(i)=c(i-1);

else

d1(i)=mod(c(i-1)+c(i-2),2);

d2(i)=mod(c(i-1)+c(i-3),2);

end

end

d1

d2

迭代法

使用一般迭代法求解方程的解。

第一根:

clear;

clc;

x0=10;err=1;

while(err>10^-6)

F1=x0;

F2=log(3*x0^2);

err=abs(F1-F2);

x0=F2;

end

x0

第二根:

clear;

clc;

x=1;err=1;

while(err>10^-6)

F1=x;

F2=sqrt(exp(x)/3);

err=abs(F1-F2);

x=F2;

end

x

第三根:

clear;

clc;

x=10;err=1;

while(err>10^-6)

F1=x;

F2=-sqrt(exp(x)/3);

err=abs(F1-F2);

x=F2;

end

x

牛顿迭代法

使用牛顿迭代法求解方程的解。

symsxfxfx1;

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;

end

k

x0

牛顿迭代法求解

使用牛顿迭代法求解方程的解。

第一解:

symsxfxfx1;

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;

end

k

x0

第二解:

symsxfxfx1;

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

第三解:

symsxfxfx1;

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;

end

k

x0

普通迭代法求解

使用普通迭代法求解方程的解。

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;

end

x=[x01x02x03]

调用matlab函数求解方程。

clear;

clc;

symsxab;

p=x.^2-a*x-4*b;

r=solve(p,x);

r

clear;%roots求解法

clc;

symsx;

p=[1000-12-3];

r=roots(p);

r

clear;%solve求解法

clc;

symsx;

p=x.^6-x.^2+2*x-3;

r=solve(p,x);

r

clear;clc;

symsxf;

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=[z1z2]

clear;clc;%求非线性方程组的解

symx;

fun='[x

(1)-x

(2)^2,x

(2)-cos(x

(1))]'

x0=[1,2]

f=fsolve(fun,x0)

clear;clc;%求解非线性方程的解

symsx;

fun='[sin(x)-log(x+0.1)]';

x0=1;

f=fsolve(fun,x0)

矩阵基本操作

clear;clc;%加、减、乘省略,只需补零即可运算

A=[1234;2312;111-1;10-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)%行变换简

求解方程的解。

clear;clc;

A=[42-1;3-12;1130];

b=[2;10;8];

rref(A)

rref([A,b])

R1=rank(A)

R2=rank([A,b])

求解方程的解。

clear;clc;

A=[2310;1-240;38-20;4-190];

b=[4;-5;13;-6];

rref(A)

rref([A,b])

R1=rank(A)

R2=rank([A,b])

求解方程的解。

clear;clc;

A=[1111;12-14;2-3-1-5;31211];

b=[5;-2;-2;0];

rref(A)

rref([A,b])

R1=rank(A)

R2=rank([A,b])

多项式拟合

clear;clc;

x=0:

0.1:

1;

y=[2.32.52.12.53.23.63.03.14.15.13.8];%输入数据

[p1,s1]=polyfit(x,y,2);

[p2,s2]=polyfit(x,y,3);

[p3,s3]=polyfit(x,y,7);%求得多项式系数p

y1=polyval(p1,x);

y2=polyval(p2,x);

y3=polyval(p3,x);%由p得到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');%图像中Insert->Legend可加标注。

最小二乘拟合

functiony=f(x)%f文件定义

t=[0.250.511.523468];

c=[19.2118.1515.3614.1012.989.327.455.243.01];

y=c-x

(1).*exp(-x

(2).*t);

clear;clc;%主程序

t=[0.250.511.523468];

c=[19.2118.1515.3614.1012.989.327.455.243.01];

[p,s]=polyfit(t,c,7);%求七阶多项式拟合

y1=polyval(p,t);

r1=corrcoef(c,y1)

x0=[12];

[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('原函数','多项拟合','最小二乘拟合');

最小二乘拟合

functiony=f1(x)%定义f1

t=[0.51.01.52.02.53.0];

c=[1.752.453.814.808.008.60];

y=c-x

(1).*exp(-x

(2).*t);

clear;clc;%主程序

t=[0.51.01.52.02.53.0];

c=[1.752.453.814.808.008.60];

[p,s]=polyfit(t,c,7);

y1=polyval(p,t);

r1=corrcoef(c,y1)

x0=[12];

[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('数据','七次多项式拟合','最小

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1