当前位置:文档之家› Matlab知识点总结

Matlab知识点总结

Matlab知识点总结
Matlab知识点总结

符号积分变换

傅里叶变换及其反变换

1.傅里叶变换f=f(x)F=F(w)

syms x w u v

f=sin(x)*exp(-x^2);

F1=fourier(f)

F1 = transform::fourier(sin(x)/exp(x^2), x, -w)

>> f=x;

F2=fourier(f)

F2 = pi*dirac(w, 1)*2*i

>> h=x*exp(-abs(x));F3=fourier(h)

F3 = -(w*4*i)/(w^2 + 1)^2

>> h=x*exp(-abs(x));F3=fourier(h,u)

F3 =-(u*4*i)/(u^2 + 1)^2

2.傅里叶反变换

syms w v x t

g=exp(-abs(x));IF2=ifourier(g)

IF2 = 1/(pi*(t^2 + 1))

拉普拉斯变换及其反变换

1.拉普拉斯变换

syms x s t v

f1=sqrt(t);L1=laplace(f1)

L1 =pi^(1/2)/(2*s^(3/2))

2.拉普拉斯反变换

syms a s t u v x

f=exp(x/s^2);IL1=ilaplace(f)

IL1 =ilaplace(exp(x/s^2), s, t)

Z变换及其反变换

方程得解析解

线性方程组得解析解

包括求解线性方程组与非线性方程组得函数solve(),也有求解常微分方程组得函数dsolve()

L1='x+y+z=10';

L2='3*x+2*y+z=14';

L3='2*x+3*y-z=1'; %L1、L2、L3分别就是三个字符串

g=solve(L1,L2,L3)

g =

x: [1x1 sym]

y: [1x1 sym]

z: [1x1 sym] %表明g就是一个结构数组,其中每个元素为一>> g、x %符号类型得量,用如下方法查瞧方程解得具体值ans =1

一般求解方法:

L1='x+y+z=10';

L2='3*x+2*y+z=14';

L3='2*x+3*y-z=1';

[x y z]=solve(L1,L2,L3)

x =1

y =2

z =7

线性方程组得解析解

>> f=sym('a*x^2+b*x+c=0');xf=solve(f)

xf =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)

-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

>>syms y z u v w

eq1=u*y^2+v*z+w;

eq2=y+z+w;

[y z]=solve(eq1,eq2,y,z)

y =

(v + 2*u*w + (v^2 + 4*u*w*v - 4*u*w)^(1/2))/(2*u) - w

(v + 2*u*w - (v^2 + 4*u*w*v - 4*u*w)^(1/2))/(2*u) - w

z =

-(v + 2*u*w + (v^2 + 4*u*w*v - 4*u*w)^(1/2))/(2*u)

-(v + 2*u*w - (v^2 + 4*u*w*v - 4*u*w)^(1/2))/(2*u)

常微分方程组得解析解

在微分方程组得表达式equ中,大写字母D表示对自变量(设为x)得微分算子:D=d/dx,D2=d2/d2x、、、微分算子D后面得字母则表示为因变量,即带求解得未知函数。

>> y=dsolve('Dy+a*x=0','x')

y =C2 - (a*x^2)/2

>> y=dsolve('D2y+2*x=2*y','x')

y = x + C4*exp(2^(1/2)*x) + C5/exp(2^(1/2)*x)

>> y=dsolve('D2y+2*x=2*y','y(2)=5','Dy(1)=2','x')

y =x + (exp(2^(1/2)*x)*(6*exp(2^(1/2)) + 2^(1/2)))/(2*exp(2^(1/2))*(exp(2*2^(1/2)) + 1)) - (2^(1/2)*exp(2*2^(1/2))*(exp(2^(1/2)) -

3*2^(1/2)))/(2*exp(2^(1/2)*x)*(exp(2*2^(1/2)) + 1))

MATLAB程序设计

全局变量global A B C 变量名区分大小写

脚本文件就是m文件中最简单得一种输入顿号输出参数,用命令语句可以控制MATLAB命令工作空间得所有数据。

编程计算向量元素得平均值:

x=input('输入向量:x='); %average_1、m计算向量元素得平均值

[m,n]=size(x);

if (m==1|n==1)

average=sum(x)/length(x)

else error('必须输入向量。')

End

如果m文件得第一个可执行语句以function开始,该文件就就是函数文件,每一个函数文件都定义一个函数。函数有自己独立得工作空间,它与MATLAB得工作空间区分开。

Function y=average_2(x) %函数average_2(x)用以计算向量元素得平均值

%输入参数x为输入向量,输出参数y为计算得平均值MATLAB得程序控制结构

For循环一般形式

For 循环控制变量=表达式1:表达式2:表达式3

For x=-2、0:0、25:-0、75

While循环

选择结构:MATLAB中得选择结构语句有if语句、switch语句与try语句

A=[];

for k=1:5

for j=1:5

if k==j

A(k,k)=5;

elseif abs(k-j)==1

A(k,j)=1;

else

A(k,j)=0;

end

end

end

A

结果:A =

5 1 0 0 0

1 5 1 0 0

0 1 5 1 0

0 0 1 5 1

0 0 0 1 5

程序流得控制

1.break语句

终止本层for或while循环,跳转到本层循环语句end得下一条语句。

2.return语句

终止被调用函数得运行,返回到调用函数。

3.pause语句

Pause:暂停程序运行,按任意键继续

Pause(n):程序暂停运行n秒后继续。

Pause on/off:允许/禁止其后得程序暂停

4.continue语句

在for循环或while循环中遇到该语句,将跳过其后得循环体语句,进行下一次循环。

数据得输入与输出

键盘输入语句input

x=input(‘prompt’);

x=input(‘prompt’,’s’) %不至于将输入得数字瞧成就是数值型数据。

屏幕输出语句disp(x)

M数据文件得存储/加载(save/load)

格式化文本文件得存储/读取(fprintf/fxcanf)

二进制数据文件得存储/读取(fwrite/fread)

数据文件行存储/读取(fgetl/fgets)

MATLAB文件操作

MATLAB数据可视化

使用函数figure来建立图形窗口,最简单得调用方式figure

Close关闭当前图形窗口

基本二维图形绘制

(1)plot:x轴与y轴均为线性刻度

(2)Loglog:x轴与y轴均为对数刻度

(3)Semilogx:x为对数刻度,y为线性刻度

(4)Semilogy:x为线性刻度,y为对数刻度

(5)Plotyy:绘制双纵坐标图形,绘制两条具有不同纵坐标得曲线,调用格式Plotyy(x1,y1,x2,y2)

Plot就是最基本得二维绘图函数:

Plot(Y),plot(X,Y)

>> x=0:0、05:5;

y=sin(x、^2);

plot(x,y);

>> x=0:0、05:5;

y1=0、2*x-0、8;

y2=sin(x、^2);

plot(x,y1,x,y2);

>> x=0:pi/180:2*pi; %两条不同纵坐标得曲线,颜色不同加以区分y1=exp(-0、3*x)、*cos(2*x);

y2=10*exp(-1、5*x);

plotyy(x,y1,x,y2);

条形图:

>> x=-2、9:0、2:2、9;

bar(x,exp(-x、*x));

极坐标:

t=0:0、1:2*pi;

polar(t,abs(cos(2*t)));

针状图:

>> x=0:0、1:4;

y=(x、^0、8)、*exp(-x);

stem(x,y)

阶梯图:

>> x=0:0、25:10;

stairs(x,sin(2*x)+sin(x))

饼图:

>> x=[43,78,88,43,21];

pie(x)

色彩与线型

>> x=0:0、2:8;

y1=0、2+sin(-2*x);

y2=sin(x、^0、5);

plot(x,y1,'g-+',x,y2,'r--d'); %y1采用绿色、实线、加号标记;

%y2采用红色,虚线,菱形表示

坐标轴及标注

函数axis指定坐标轴得刻度范围其调用格式为

Axis([xmin,xmax,ymin,ymax])

hold on/off 保持原有图形/刷新原有图形

axis on/off 显示/取消坐标轴

xlabel(‘option’) x轴加标注,option表示任意选项

ylabel(‘option’) y轴加标注

Title(‘option’) 图形加标题

Legend(‘option’) 图形加标注

Grid on/off 显示/取消网格线

Box on/off 给坐标加/不加边框线

>>x=0:0、05:5;

y1=exp(0、4、^x)-1、5;

y2=sin(x*4);

plot(x,y1,x,y2,'r-、');

line([0,5],[0,0]); %画直线,代替横坐标

xlabel('input');ylabel('output');

title('two function');

legend('y1=exp(0、4^x)-1、5','y2=sin(x*4)')

grid on%画网格线

在一个图形窗口中用函数subplot可以同时画出多个子图形x=linspace(0,2*pi,100);

subplot(2,2,1);plot(x,sin(x));

xlabel('x');ylabel('y');title('sin(x)');

subplot(2,2,2);plot(x,cos(x));

xlabel('x');ylabel('y');title('cos(x)');

subplot(2,2,3);plot(x,exp(x));

xlabel('x');ylabel('y');title('exp(x)');

subplot(2,2,4);plot(x,exp(-x));

xlabel('x');ylabel('y');title('exp(-x)');

三维曲线图

用plot3(x1,y1,z1)绘制三维图形

t=0:0、5:20;

plot3(sin(t),cos(t),t);

grid on

三维曲面图

格点矩阵:[X,Y]=meshgrid(x,y) Surf(Z),surf(X,Y,Z)

Surfc():曲面下绘制曲面得等高线。球:

[X,Y,Z]=sphere(30);

surf(X,Y,Z);

Shading faceted:分层网格线Shading flat:平滑式

相关主题
文本预览
相关文档 最新文档