00-预备笔记-Matlab 常规操作汇总(持续更新。。。)

clc       % 清除命令窗口的内容,对工作环境中的全部变量无任何影响
close     % 关闭当前的Figure窗口
close all % 关闭所有的Figure窗口
clear     % 清除工作空间的所有变量
clear all % 清除工作空间的所有变量,函数,和MEX文件

方程篇

等式方程求解

syms x;               % 声明变量
eq = log10(x) == 1;   % 列出等式方程
rst = vpasolve(eq, x);% 求取方程数值解
disp(rst)

函数篇

求微分

syms x
f(x) = 2*x;
f(x) = diff(f(x));

求积分:一个积分变量

syms y;
a = 1;
b = 10;
fun = exp(-y.^2) + log(y);
result = int(fun, a, b)    % 求y=a~b的积分

求积分:一个积分变量,多个参数变量

syms x t;
a = 1;
fun = 2 * t * x;
result = int(fun, x, a, sin(t))% 求x=a~sint的积分

求积分:两个积分变量

syms x y;     
fun = x.^2 + y.^2;
result = int((int(fun,x,sqrt(y),2)), y, 1, 4)% 先求x=根号y~2的积分,再求y=1~4的积分

常用函数:Gamma 函数

syms v_4 v_5% v_4 是自变量,v_5 是积分变量
Gamma(v_4) = int(v_5.^(v_4-1) * exp(-1 * v_5), v_5, 0, inf);
fprintf("自定义的 Gamma 函数:\n%.2f\n", Gamma(0.5));
fprintf("matlab 自带的 Gamma 函数:\n%.2f\n", gamma(0.5));
​
diff_Gamma(v_4) = diff(Gamma(v_4));
fprintf("用 matlab 自带的求导函数求自定义的 Gamma 函数的微分:\n%.2f\n", diff_Gamma(0.5));
diff_gamma(v_4) = diff(gamma(v_4));
fprintf("用 matlab 自带的求导函数求 matlab 自带的 Gamma 函数的微分:\n%.2f\n", diff_gamma(0.5));
Diff_Gamma(v_4) = int((v_5.^(v_4-1)) * log(v_5) * exp(-1 * v_5), v_5, 0, inf);
fprintf("用自定义的求导函数求自定义的 Gamma 函数的微分:\n%.2f\n", Diff_Gamma(0.5));

img

常用函数:自然对数函数

syms x
f(x) = log(x)

常用函数:高斯分布函数

mu = zeros(1,2);% 均值
sigma = [0.9 0.4; 0.4 0.3];% 方差
X = mvnrnd(mu,sigma,1000);% 生成 1000 个均值为 mu 方差为 sigma 的高斯数据
subplot(1,2,1);
plot(data1(:,1),data1(:,2),'r.');

y = mvnpdf(X, mu, sigma);% 根据正态分布密度函数获得每个高斯数据点对应的概率
subplot(1,2,2);
scatter3(X(:,1),X(:,2),y)
xlabel('X1')
ylabel('X2')
zlabel('Probability Density')

untitled

矩阵篇

获取矩阵二维

[D_x, N_x] = size(x);

获取矩阵所有维度中最大的一个

L = length(X)

生成数据:生成服从高斯分布的数据

 

img

生成数据:生成对角阵

a = eye(2,2)% 方阵
a = eye(3,2)% 非方阵,直观上是仿真按列数截取

生成数据:生成分块对角阵

A1 = ones(2,2);
A2 = 2*ones(3,2);
A3 = 3*ones(2,3);
B = blkdiag(A1,A2,A3)% 生成分块对角矩阵

生成数据:生成随机矩阵

% 生成一个由区间 (0,1) 内均匀分布的随机数组成的 5×5 矩阵。
r = rand(5)
% 生成一个由区间 (-5,5) 内均匀分布的随机数组成的 10×1 矩阵。
r = -5 + 10 * rand(10,1)
% 生成一个由区间 (10,50) 内均匀分布的随机整数组成的 1x5 矩阵。
r = randi([10 50],1,5)
% 生成一个实部和虚部位于区间 (0,1) 内的随机复数。
a = rand + 1i*rand
% 生成一个由区间 (0,1) 内均匀分布的随机数组成的 3×2×3 矩阵。
X = rand([3,2,3])

生成数据:生成 inf 矩阵

llh = -inf(1,10);
llh(1) = 1;
llh(2) = 0;
llh

image-20211120131348781

生成数据:生成重复内容矩阵

B = repmat(A,m,n)

图像篇

创建带有两个堆叠子图的图窗

subplot(2,1,1);% 全图大小2x1,子图索引1
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)

subplot(2,1,2); % 全图大小2x1,子图索引2
y2 = sin(5*x);
plot(x,y2)

untitled

生成三维图像

a = [1 2 3 4 5];
b = [5 4 3 2 1];
c = [6 7 8 9 0];
scatter3(a,b,c)
xlabel('a')
ylabel('b')
zlabel('c')

untitled

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simple Man ZHR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值