我是靠谱客的博主 寒冷枫叶,最近开发中收集的这篇文章主要介绍MATLAB数值计算函数汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

%% 向量最大值
% X=[1,2,3,4,5,7,6];
% y=max(X);%最大值
% [y,k]=max(X);%最大值及位置

%% 矩阵最大值
% X=[1,2,3;4,5,7;6,1,1];
% max(X)%求每列最大元素
% max(X,[],2)%求每行最大元素
% max(max(X))%求整个矩阵最大元素

%% 向量或矩阵对应元素比较取最大
% x=[4,5,6;1,4,8]
% y=[1,7,5;4,5,7]
% p=max(x,y)

%% 向量或矩阵与常数比较取最大
% x=[4,5,6;1,4,8]
% y=2
% p=max(x,y)

%% 求平均值和中值和标准方程
% x=[1,2,3,6,7,6];
% mean(x)
% median(x)

%% 矩阵元素求和和求积
% x=[4,5,6;1,4,8;2,5,6]
% sum(x)%列相加
% sum(x,2)%行相加
% prod(x)%列相乘
% prod(x,2)%行相乘

%% 矩阵元素累加和累乘
% x=[4,5,6;1,4,8;2,5,6]
% cumsum(x)%列累加
% cumsum(x,2)%行累加
% cumprod(x)%列累乘
% cumprod(x,2)%行累乘

%% 向量或矩阵方差
% x=[4,5,6;1,4,8;2,5,6]
% std(x,0,1)%列方差
% std(x,0,2)%行方差

%% 相关系数
% x=randn(10000,5);
% corrcoef(x)%把每列作为变量求他们的相关系数
% X=[1,2,3];Y=[3,2,1];
% corrcoef(X,Y)%求向量X,Y的相关系数

%% 元素排序
% x=[4,5,6;1,4,8;2,1,6]
% sort(x)%按列升序
% sort(x,2)%按行升序
% -sort(-x)%按列降序
% -sort(-x,2)%按行降序
% [a,b]=sort(x)%b为所在列号

%% 一维插值 t 自变量 f因变量 x为插值    插值适用点相对准确无异常点
% t=0:5:30;
% x=2:5:28;
% f=[3,2,879,1835,2968,4136,5237];
% format bank
% interp1(t,f,x,'linear') %线性插值方法计算
% 
% interp1(t,f,x,'nearest') %最近点插值方法计算
% 
% interp1(t,f,x,'spline') %3次样条插值方法计算
% 
% interp1(t,f,x,'PCHIP') %3次多项式插值方法计算

%% 二维插值 x,y自变量 z因变量 
% x=0:0.1:1;
% y=0:0.1:2;
% [X,Y]=meshgrid(x,y);%划分成采样网格
% Z=X.^2+Y.^2;
% interp2(x,y,Z,0.5,0.5) %在(0.5,0.5) 插值
% interp2(x,y,Z,[0.5 0.6]',[0.4 0.5]) 

%% 二维插值 x,h自变量 T因变量 
% x=0:2.5:10;
% h=[0:30:60]';
% T=[95,14,0,0,0;
%     88,48,32,12,6;
%     67,64,54,48,41];
% xi=[0:0.5:10];
% hi=[0:10:60]';
% temps=interp2(x,h,T,xi,hi,'spline');
% mesh(xi,hi,temps);

%% 曲线拟合和最小二乘法 拟合适用点的误差可以大
%  X=linspace(0,2*pi,50)%0-2pi分成50份
%  Y=sin(X);
%  P=polyfit(X,Y,3);%得到3次多项式的系数
%  xi=linspace(0,2*pi,100);
%  yi=sin(xi);
%  y1=polyval(P,xi);%按照多项式系数计算拟合值
%  plot(X,Y,xi,y1,':o')

%% 多项式系数加减乘除
% f=[3,-5,2,-7,5,6];
% g=[3,5,-3];
% g1=[0,0,0,g];
% f+g1
% f-g1
% conv(f,g)%乘法
% [Q,r]=deconv(f,g)%除法 商送Q,余送r

%% 多项式的导函数
% P=[3,5,0,-8,1,-5];
% Q=[10,5,0,0,6,0,0,7,-1,0,-100];
% [p,q]=polyder(P,Q)%p为分子,q为分母
%% 多项式求值
% A=[1,8,0,0,-10];
% x=1.2;
% y1=polyval(A,x)%x=1.2时,多项式的值
% x=[-1,1.2,-1.4;2,-1.8,1.6;1,2,3];
% y2=polyval(A,x)%x=矩阵,各元素多项式的值
% y3=polyvalm(A,x)%x=矩阵(必须为方阵),矩阵进行多项式计算的值
  
%% 多项式求根 已知根求多项式
% A=[1,8,0,0,-10];
% x=roots(A)
% B=poly(x)

%% 数值微分
% f=inline('(x+1).^2')
% g=inline('2.*x+2')
% x=-3:0.01:3;
% p=polyfit(x,f(x),2);%求拟合多项式系数            拟合求导
% dp=polyder(p);%求导数多项式的系数
% dpx=polyval(dp,x);%求导函数对应函数值
% plot(x,dpx)
%-----------------------------------------------
% dx=diff(f([x,3.01]))/0.01;% 直接对f(x)求数值导数         微分求导
% plot(x,dx);
%-----------------------------------------------
% gx=g(x) %                                              导函数求导数     
% plot(x,gx);

%% 数值积分   被积函数是一个表达式
% format long
% I=quad('exp(-x.^2)',0,1)

%% 数值积分   被积函数是一个表格 (离散的点)
% x=0:0.01:1;
% y=exp(-x.^2);
% trapz(x,y)

%% 二重数值积分   被积函数是一个表达式
% format long
% f=inline('exp(-x.^2/2).*sin(x.^2+y)','x','y');
% I=dblquad(f,-2,2,-1,1)

%%  给定函数进行傅里叶变换
% N = 128;                       %采样128个点
% T = 1;                            %自变量范围0-1
% t=linspace(0,T,N);          %分割
% x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t);
% dt=t(2)-t(1)                       %采样周期
% f=1/dt;                             %采样频率
% X=fft(x);                           %傅里叶变换
% f=f*(0:N-1)/N                    %频率轴
% plot(f,abs(X),'-*')                 %振幅,频率曲线
% xlabel('Frequency');
% ylabel('|F(k)|'); 
% ix=real(ifft(X));                      %逆变换
% plot(t,x,'-*',t,ix,':')
% norm(x-ix)

作者:ChenBD

最后

以上就是寒冷枫叶为你收集整理的MATLAB数值计算函数汇总的全部内容,希望文章能够帮你解决MATLAB数值计算函数汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部