[数学建模]matlab高频基础用法

配色

【2.1.1 颜色模板】科研绘图必备的60套颜色模板 - 知乎 (zhihu.com)

数值积分

integral(func, 积分下界, 积分上界)  % func是函数句柄

函数句柄

理解:类似于c中的指针函数。它的使用更符合我们一般的理解。具体原理不用深究。

函数句柄的创建

三种方法:

% handle_test.m
function y = handle_test(x)
    y = sin(x);
end

%直接在函数名前面加'@'
func = @handle_test;
func(pi/2)

% 使用str2func
func1 = str2func('handle_test');  % 作用和加了一个@一样
func1(pi/2)

% 直接创建匿名函数。elegant!
% 匿名函数语法:func = @(自变量列表) 表达式
func2 = @(x,y) x.^2 + y.^2;
func2(3,4)

符号运算

声明一个符号变量:

x = sym(1)  % x是符号变量,值是1
x = sym('x')  % x的值是x
x = sym('a')  % x的值是a

声明多个符号变量:

syms a b c

符号函数:

syms y(t)
syms y(x) [3,1]  % 向量函数{y1(x), y2(x), y3(x)},注意空格

符号四则运算这里就不说了,和正常写表达式一样。介绍一下几个可能用到的符号计算函数:

limit(f,x,a)  % 求函数f关于变量x在a点的极限
limit(f,x,a,'left/right')  %求函数f关于变量x在a点的左右极限

diff(f,x,n)  % 求f关于变量x的n阶导数,一元函数x可省略,一阶导数n可省略

int(f,x)  % 求f关于x的不定积分
int(f,x,a,b)  % 求f关于x在[a,b]上的定积分

fminbnd:查找单变量函数在定区间上的最小值

[x,fval] = fminbnd(fun,x1,x2,options);  % fun取负即求最大值
% x:最小值对应横坐标
% fval:最小值
% fun:函数句柄
% x1,x2: 查找区间
% options:可用optimset设置的选项

随机数生成函数汇总

rand:

X = rand 返回一个在区间 (0,1) 内均匀分布的随机数。

X = rand(n) 返回一个 n×n 的随机数矩阵。

X = rand(sz1,...,szN) 返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:rand(3,4) 返回一个 3×4 的矩阵。

randi:

X = randi(imax) 返回一个介于 1 和 imax 之间的伪随机整数标量。

X = randi(imax,n) 返回 n×n 矩阵,其中包含从区间 [1,imax] 的均匀离散分布中得到的伪随机整数。

X = randi(imax,sz1,...,szN) 返回 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,randi(10,3,4) 返回一个由介于 1 和 10 之间的伪随机整数组成的 3×4 数组。
% imax可以用[a,b]表示范围

randn:

X = randn 返回一个从标准正态分布中得到的随机标量。

X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。

X = randn(sz1,...,szN) 返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。

% tip: X~N(0,1)
r = randn(5)

r = 5×5
    0.5377   -1.3077   -1.3499   -0.2050    0.6715
    1.8339   -0.4336    3.0349   -0.1241   -1.2075
   -2.2588    0.3426    0.7254    1.4897    0.7172
    0.8622    3.5784   -0.0631    1.4090    1.6302
    0.3188    2.7694    0.7147    1.4172    0.4889

randperm:

p = randperm(n) 返回行向量,其中包含从 1 到 n 没有重复元素的整数随机排列。

p = randperm(n,k) 返回行向量,其中包含在 1 到 n 之间随机选择的 k 个唯一整数。
r1 = randperm(8,4)

r1 = 1×4
     6     4     7     3

矩阵操作

x = x(:)  % 将x按列排成一个列向量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值