3.数值计算的通用函数(二)

数值统计函数

随机数

常用的:unifrnd,randn,rand

函数说明
unifrnd(A,B,m,n)从A到B均匀分布的(连续)随机数
unifrnd(N,m,n)均匀分布的(离散)随机数

此外还有trnd,frnd,chi2rnd,gamrnd……很多,用的时候再查也行。

%随机数
x=unifrnd(1,3,5,5)

在这里插入图片描述

最值

max 和 min 函数
向量–>返回最值
矩阵–>返回每一列的最小值组成的向量

%最值
close all;clc;
x=1:25;
y=randn(1,25);
figure;
hold on;
plot(x,y);
[ymax,Imax]=max(y); %求向量最大值及对应下标
plot(x(Imax),ymax,'r*');
[ymin,Imin]=min(y); %……最小值……
plot(x(Imin),ymin,'go');
xlabel('x');ylabel('y');
legend('初始数据','最大值','最小值');%图例
ymax,Imax,ymin,Imin

在这里插入图片描述

和与积

sum求和,prob求积

%和与积
x=1:30;
y=randn(1,40);
y
sum(y)
prod(y)

在这里插入图片描述

平均值、中值

mean平均值,median中值

%平均值和中值
close all;clc;
x=1:30;
y=randn(1,40);
y
mean(y)
median(y)

在这里插入图片描述

标准差和方差

std标准差,var方差

%标准差和方差
x=1:30;
t=mean(x);
r=0;
for i=1:30
    r=r+(x(i)-t)^2;
end
r1=std(x);
r2=var(x);
x,r1,r2

在这里插入图片描述

协方差和相关系数

函数说明
cov(X)向量X的协方差
cov(A)矩阵A各列的协方差矩阵,该矩阵的对角线元素是A的各列的方差
cov(X,Y)=cov([X,Y])
corrcoef(X,Y)列向量X和Y的相关系数
corrcoef(A)矩阵A各列的相关系数矩阵
corrcoef(X,Y)=corrcoef([X,Y])
%协方差和相关系数
X=[1 2 4 6];Y=[3 6 9 4];
A1=cov(X);
A2=cov(X,Y);
A3=corrcoef(X);
A4=corrcoef(X,Y);
A1,A2,A3,A4

在这里插入图片描述

排序

sort(A,mode) mode可以省略,省略时为升序,mode可以取 ascend-升序 或 descend-降序

%排序
A=magic(5)
B1=sort(A)
B2=sort(A,"descend")

在这里插入图片描述

数值积分函数–求解定积分近似值

函数说明
quad一元函数数值积分(Simpson方法)
quadl一元函数数值积分(Lobatto方法)
quadv一元函数矢量数值积分
dblquad二重积分
triplequad三重积分

这部分例子太复杂就不写了

图形绘制函数

二维曲线绘制

这个大家都很熟悉了

%图形绘制函数
syms x;
f=cos(x);
fplot(f);
xlabel('x');ylabel('y');title('cosx');

在这里插入图片描述

隐函数图像

fimplicit

%隐函数
syms x y;
f=x^2*sin(x+y^2)+y^2*exp(x)+6*cos(x^2+y);
T=fimplicit(f);%绘制隐函数专用函数
set(T,'color','k');
xlabel('x');ylabel('y');title('隐函数');

在这里插入图片描述

三维曲线绘制

ezplot现在不推荐了,但是这种传参方式我暂时还没找到替代。

%三维曲线
syms t;
x=sin(t);
y=cos(t);
z=t;
ezplot3(x,y,z,[0,10*pi],'animate')

在这里插入图片描述

等值线/等高线

ezcontour函数 ezcontourf函数

%等值线
syms s t;
ezcontour(f,[-5,5]);
xlabel('x');ylabel('y');title('无填充色等值线');

在这里插入图片描述

%有填充色的等值线
syms x t;
f=x*sin(t);
ezcontourf(f,[-5,5]);
xlabel('x');ylabel('y');title('有填充线等值线');

在这里插入图片描述

表面图

ezsurf

%三维表面图
syms t x;
f1=x*sin(t);
f2=x*cos(t);
f3=t;
ezsurf(f1,f2,f3,[0,5*pi]);
title('无等值线表面图');

在这里插入图片描述

%三维表面图 有等值线
syms t x;
f1=x*sin(t);
f2=x*cos(t);
f3=t;
ezsurfc(f1,f2,f3,[0,5*pi]);
title('有等值线表面图');

在这里插入图片描述

曲面图

ezmesh ezmeshc

%曲面图
syms x t;
f=x*sin(t);
ezmesh(f,[-pi,pi]);
title('无等值线曲面图');

在这里插入图片描述

%曲面图
syms x t;
f=x*sin(t);
ezmeshc(f,[-pi,pi]);
title('有等值线曲面图');

在这里插入图片描述
不得不说MATLAB画图确实好看

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值