用matlab怎么求正态分布概率

用matlab怎么求正态分布概率,第1张

用matlab求正态分布概率的函数是normpdf,使用格式为

Y = normpdf(X,mu,sigma)

mu——均值μ

sigma——标准偏差σ

例如:

>> Y = normpdf(15,05,1)

Y =

024197

SigmaPlot和MATLAB都是科学计算和数据分析领域常用的软件工具,虽然它们各有特点和优势,但两者之间也有一些相似的功能。以下是一些相似的功能:

1 绘制二维和三维图形:SigmaPlot和MATLAB都支持二维和三维图形的绘制,包括散点图、曲线图、柱状图、等高线图、三维曲面图等。

2 统计分析:SigmaPlot和MATLAB都支持基本的统计分析功能,包括描述性统计、假设检验、方差分析、线性回归等。

3 数据可视化:SigmaPlot和MATLAB都可以对数据进行可视化,包括散点图、热力图、等高线图、三维图等。

4 编程和自定义函数:SigmaPlot和MATLAB都支持编程和自定义函数,可以使用脚本语言来自定义图形、分析和数据处理等功能。

5 数据导入和导出:SigmaPlot和MATLAB都支持多种数据格式的导入和导出,包括文本文件、Excel文件、MATLAB数据文件等。

需要注意的是,虽然SigmaPlot和MATLAB有相似的功能,但两者的界面和语法有很大的不同。如果你已经熟悉其中一种软件,切换到另一种软件时需要学习新的语法和界面 *** 作。

另外发给你一个文档,注意查收

matlab常用到的永久变量

ans:计算结果的默认变量名。

i j:基本虚数单位。

eps:系统的浮点(F10a9Bg个oht):

inf: 无限大,例1/0

nan NaN:非数值(N航a nmnb谢)

pi:圆周率n(n=3.1415926..)。

realmax:系统所能表示的最大数值。

realmin: 系统所能表示的最小数值,

nargin: 函数的输入参数个数:

nargout:函数的输出多数个数

①matlab的所有运算都定义在复数城上。对于方根问题运算只返回处于第一象限的解。

⑦matlab分别用左斜/和右\来表示“左除和“右除”运算。对于标量运算而言,这两者的作用没有区别:但对于矩阵运算来说,二者将产生不同的结果。

多项式的表示方法和运算

p(x)=x^3-3x-5 可以表示为p=[1 0 –3 5],求x=5时的值用plotval(p,5)

也可以求向量:a=[3 4 5],plotval(p,a)

函数roots求多项式的根 roots(p)

p=[1 0 -3 5];

r=roots(p)

由根重组多项式poly(根)

q=poly(r)

real(q) 有时会产生虚根,这时用real抽取实根即可

conv(a,b)函数

多项式乘法(执行两个数组的卷积)

a=[1 2 3 4];

b=[1 4 9 16];

c=conv(a,b)

多项式的加减法,低阶的多项式必须用首零填补,使其与高阶多项式有同样的阶次

多项式除法 [q , r]=deconv(c , b) 表示b/c q为商多项式,r为余数

多项式的导数 polyder(f)

f=[ 2 4 5 6 2 1];

s=polyder(f)

多项式的曲线拟合

x=[1 2 3 4 5];

y=[56 40 150 250 4989];

p=polyfit(x,y,n) 数据的n次多项式拟合 poly:矩阵的特征多项式、根集对应的多项式

x2=1:01:5; n取1时,即为最小二乘法

y2=polyval(p,x2); 计算多项式的值

(polyvalm计算矩阵多项式)

plot(x,y,'',x2,y2);grid on

最小二乘法

x=[1 2 3 4 5];

y=[56 40 150 250 4989];

plot(x,y,’’),lsline

多项式插值

YI=interp1(x,y,XI,’method’) 一维插值

(XI为插值点的自变量坐标向量,可以为数组或单个数。

method为选择插值算法的方法,包括:

linear(线性插值)

cubic(立方插值)

spline(三次样条插值)

nearst(最近临插值)

一维博里叶变换插值使用函数interpft实现,计算含有周期函数值的矢量的傅里叶变换

然后使用更多的点进行傅里叶变换的逆变换,函数的使用格式如下:y=interpft(x,n) 其中x是含有周期函数值的矢量,并为等距的点,n为返同等间距点的个数。

求解一元函数的最小值

y=fminbnd('humps',03,1) humps为一内置函数

求解多元函数的最小值

函数fminserch用于求多元函数的最小值。它可以指定一个开始的矢量,并非指定一个区间。此函数返回一个矢量为此多元函数局部最小函数值对应的自变量

纹理成图功能

由warp函数的纹理成图功能实现平面图像在空间三维曲面上的显示。

将文件名为flowerstif的图像分别投影到圆柱形和球星表面上

i=imread('flowerstif');

[x,y,z]=cylinder;

subplot(1,2,1),warp(x,y,z,i);

[x,y,z]=sphere(50);

subplot(1,2,2),warp(x,y,z,i);

warp(x,y,z,i);

复制代码

求函数的零点

求函数humps在[1,2]区间上的零点 fzero(‘humps’,[1,2]);

也可以给一个初始值 fzero(‘humps’,09);

对于多项式可直接由roots求其根 roots(‘4x^3+……’);

也可以用solve

c=sym('c','real');

x=sym('x','real');

s=solve(x^3-x+c)

函数定积分

q=quadl(‘humps’,0,1) 求humps函数在0 1区间上的定积分,也可以用quad语句

二重积分 首先计算内积分,然后借助内积分的中间结果再求出二重积分的值,类似于积分中的分步积分法。

Result=dblquad(‘integrnd’,xin,xmax,ymin,ymax) integrnd为被积函数的名称字符串

符号积分运算int(f),最精确的是符号积分法

计算s=∫12[∫01xydx]dy

syms x y 中间为空格,不能为逗号

s=int(int(‘x^y’,’x’,0,1),’y’,1,2) 引号可省略

vpa(s) 显示s的值

内积分限为函数的二重积分

I=∫14[∫√y2(x2+y2)dx]dy

符号法I=vpa(int(int(‘x^2+y^2’,’x’,sqrt(y),2),’y’,1,4)

微分运算(diff)

微分是描述一个函数在一点处的斜率,是函数的微观性质、因此积分对函数的形状在小范围内的改变不敏感,而微分很敏感。 —个函数的小的变化,容易产生相邻点的斜率的大的改变。由干微分这个固有的困难.所以尽可能避免数值微分.特别是对实验获得的数据进行微分。在这种情况,最好用最小二乘曲线拟合这种数据,然后对所得到的多项式进行微分;或用另一种方法对点数据进行三次样条拟合,然后寻找样条微分,但是,有时微分运算是不能避免的,在MATLAB中.用函数diff汁算一个矢量或者矩阵的微分(也可以理解为差分)。

a=[1 2 3 3 3 7 8 9];

b=diff(a) 一次微分

bb=diff(a,2) 二次微分

实际上diff(a)=[a(2)-a(1),a(3)-a(2),……,a(n)-a(n-1)]

对于求矩阵的微分,即为求各列矢量的微分,从矢量的微分值可以判断矢量的单调性、是否等间距以及是否有重复的元素。

符号微分运算(diff)

syms x t a

f =cos(ax)

df =diff(f) 由findsym的规则,隐式的指定对x进行微分

dfa=diff(f,'a') 指定对变量a进行微分

dfa=diff(f,'a',3) 三次微分

diff函数不仅作用在标量上,还可以在矩阵上,运算规则就是按矩阵的元素分别进行微分

syms a x

A=[cos(ax),sin(ax),-sin(ax),cos(ax)];

dA=diff(A)

微分方程dsolve

在matlab中,符号表达式中包含字母D用来表示微分运算,D2,D3分别对应第二,第三阶导数,D2y表示d2y/dt2 把t缺省了

y=dsolve(‘Dy=f(y)’) 单个方程,单个输出

[u,v]=dsolve(‘Du=f(u,v)’,’Dv=g(u,v)’) 2个方程,2个输出

s=dsolve(‘Dx=f(x,y,z)’,’Dy=g(x,y,z)’,’Dz=k(x,y,z)’)

sx sy sz 3个方程,架构数组

dsolve('Dx=-ax') 结果:C1exp(-at) 没给定初值,所以结果中含参变量

x=dsolve('Dx=-ax','x(0)=1','s') 结果exp(-as) 给定了初值,独立变量设为s

计算多元函数的梯度

fx=gradient(f) f是一个矢量返回f的一维数值梯度,fx对应于x方向的微分。

[x,y]=meshgrid(-2:2:2,-2:2:2);

z=xexp(-x^2-y^2);

[px,py]=gradient(z,2,2);

contour(z),hold on 画等值线

quiver(px,py)

matlab字符串运算

利用sym命令创建表达式

f=sym(‘cos(x)+sin(x)’)或 syms x , f=cos(x)+sin(x)

diff(f) 求其导数

(也可直接用命令f=diff(‘cos(x)+cos(y)’)

当字符表达式中含有多于一个的变量时,只有—个变量是独立变量。如果不告诉matlab哪一个变量是独立变量,则可以通过findsym命令询问

利用findsym命令查询独立变量

f=sym('sin(ax)+b')

findsym(f,1) 给出独立变量(一个变量,如果为2则给出2个变量)

findsym(f) 给出所有变量

符号表达式的化简和替换

collect函数 collect(f,v)表示将f表示为关于符号变量v的多项式形式,即关于v合并同类项,v缺省,则用findsym确定的缺省变量

syms x y

f=x^2y+yx-x^2-2x+1

collect(f) 得到(-1+y)x^2+(y-2)x+1

collect(f,y) 得到(x+x^2)y+1-x^2-2x

expand函数 expand(f)将f展开,写成和的形式

syms x

expand((x-1)^3) 得到x^3-3x^2+3x-1

horner函数 horner(f)将f写成镶嵌套形式

syms x

horner(x^3-6x^2) 得到(-6+x)x^2

factor函数 factor(f)将f转换成低阶有理多项式的乘积

syms x

f=x^3-6x^2+11x-6

factor(f) 得到 (x-1)(x-2)(x-3)

simplify(f)函数

综合化简

simple(f) 函数的最简形式

syms x

f=2sin(x^2)+cos(3x)

simple(f) 如果不想看到中间过程,可z=simple(f) 有时使用两次simple命令可以得到最简式

如果想知道哪个简化命令得到最后结果,可以加一个参数how

[z,how]=simple(f)

符号表达式的替换

subs(f,new,old)

f='ax^2+bx+c'

subs(f,'t','x') 得到a(t)^2+b(t)+c subs是一个符号函数,返回一个符号变量

subexpr函数

有时matlab返回的符号表达式难以理解,用subexpr函数,可以将表达式中重复出现的子式用一个符号表示,从而简化表达形式

c=sym('c','real');

x=sym('x','real');

s=solve(x^3-x+c)

a=subexpr(s) 得到sigma = -108c+12(-12+81c^2)^(1/2)

a =

[ 1/6sigma^(1/3)+2/sigma^(1/3)]

[ -1/12sigma^(1/3)-1/sigma^(1/3)+1/2i3^(1/2)(1/6sigma^(1/3)-2/sigma^(1/3))]

[ -1/12sigma^(1/3)-1/sigma^(1/3)-1/2i3^(1/2)(1/6sigma^(1/3)-2/sigma^(1/3))]

pretty函数有时也能起到同样的作用。

Pretty(f) 显示函数的习惯书写形式

线性方程组的求解

求解线性方程组,用反斜杠\

a=hilb(3)

b=[1 2 3]'

a\b

矩阵的特征值和特征向量

用eig(v,d)函数,[v,d]=eig(A); 其中d将返回特征值,v返回相应的特征向量,缺省第二个参数将只返回特征值

syms a b c real

A=[a b c; b c a; c a b];

[v,d]=eig(A);

为了观察更清楚,使用以前学过的替换函数,这里不用默认的sigma,而改用M,显式的代替繁琐的表达子式

vv=subexpr(v);

vs=subs(vv,'m','sigma') 运行结果为

vs =

[ 1, 1, 1]

[ -(c+(m)-a)/(c-b), -(c-(m)-a)/(c-b), 1]

[ -(a-(m)-b)/(c-b), -(a+(m)-b)/(c-b), 1]

再用m替换d中的表达子式

dd=subexpr(d);

ds=subs(dd,’m’,’sigma’)

运行结果为ds =

[ (m), 0, 0]

[ 0, -(m), 0]

[ 0, 0, c+a+b]

note 求特征值也可用以下命令

f=poly(A) poly函数

用来求A的特征多项式

d=solve(f) solve(f)函数用来求多项式的解

svd( )函数

求矩阵的奇异值分解,将矩阵分解为两个正交矩阵和对角矩阵的乘积

a=sym(hilb(2))

[u,s,v]=svd(a)

代数方程和方程组

代数方程的求解可用solve(f)命令,如果f不含=,matlab将给表达式置零。方程的未知量在默认的情况下由findsym决定或显式指出

syms a b c x

solve(ax^2+bx+c) 以x为默认变量

solve(ax^2+bx+c,a) 指定对a为变量

求含有等号的方程的解(一定要加单引号)

f=solve(‘cos(x)=sin(x)’)

x=solve('exp(x)=tan(x)') 如果不能求得符号解,就计算可变精度解。

求解方程组与单方程类似

解一个三元一次方程

v=solve('au^2+v^2','u-v=1','a^2-5a+6')

结果为v =

a: [4x1 sym] u: [4x1 sym] v: [4x1 sym]

极限运算limit

limit(f) 求x到0的极限

limit(f,x,a)或limit(f,a) 求x到a的极限

limit(f,a,’left’) limit(f,a,’right’) 求x到a的左极限和右极限

limit(f,inf) 求x趋于无穷的极限

符号求和symsum(s)

symsum(s) 以默认的findsym决定的变量求和

symsum(s,v) 以s中指定的变量v求和

symsum(s,a,b) symsum(s,v,a,b) 从a到b的有限项求和

syms k n

symsum(k) 从0到k求和

symsum(k,0,n-1) 从0到n-1求和

symsum(1/k^2,1,inf) 无限项求和

泰勒级数taylor(f)

taylor(f)表示求f的5阶talor展开,可以增加参数指定展开的阶数(默认式5),也可以对于多元函数指定展开的变量,还可以指定在哪个点展开

syms x t

taylor(exp(-x))

taylor(log(x),6,1) 在1点的6阶taylor展开

taylor(x^t,3,t) 对t的3阶taylor展开

fourier变换

fourier分析可以将信号转换为不同频率的正弦曲线。可对离散数据进行分析,也可对连续时间系统进行分析,特别在信号和图形处理领域。离散变换(DFT)作用于有限数据的采集,最有效的是快速fourier变换(FFT)

F=fourier(f) 独立变量x,返回关于参数w的函数

F=fourier(f,v) 返回函数F关于符号对象v的函数

F=fourier(f,u,v) 对关于u的函数f进行变换,而不是缺省的w,返回函数F是关于v的函数

syms t v w x

fourier(1/t)

fourier(exp(-t)sym('Heaviside(t)'),v)

fourier(diff(sym('F(x)')),x,w)

Fourier逆变换

f=ifourier(F) 缺省独立变量w,返回关于x的函数对w进行积分

f=ifourier(F,v) 返回函数f是关于符号对象v的函数,而不是缺省的x

f=ifourier(F,u,v) 是关于u的函数f进行变换,而不是缺省的x,返回函数f是关于v的函数

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12157129.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存