最近小y在想技术不是长久之路,因为可替代性很强,工资不可能非常的高,所以想准备进研发体制了。
我们大学期间,学的是自动化。专业倒是不怎么学习软件,主要学习理论,常用的软件也就matlab,以我现在的水平我认为自动控制如果能在硬件实现那是最好的。
如果将RLC电路串联起来的话我们可以得到一个微分方程,也可以使用此微分方程在simlink里面建模这个不急后面写博客。
最近换工作成了硬件研发所以又把大学的电路啥的一起拿出来学习学习。
嘿,但是发现电路的基本原理又有很多的矩阵运算
这个让y很为难,要不写个算法去解决?但是想想不合适,为了尽快适应工作应该先用最熟练的matlab软件进行解题。
首先我们要熟悉sysm函数,
syms x
意思事将x符号话这样我们就可以使用y=sinx的函数了,接下来我们看个例子
syms x;
syms a;
syms b;
y=a.*x+b
运行结果
>> clear all
>> exsyms
y =
b + a*x
如果我们将函数求导的话应该会得到一个函数
y=x
实验如下
syms x;
syms a;
syms b;
y=5.*x+b ;
%% 求导
dfdx = collect(diff(y,1));
pretty(y);
pretty(dfdx);
>> exsyms
b + 5 x
5
pretty
函数是书面化此函数
/ -2 x 2 2 2 \
| -------------, (2 exp(x )) x + exp(x ) |
| 4 2 |
| x + 2 x + 1 |
| |
| cos(x) x - 1 x |
| ------, x x + x log(x) |
\ sin(x) /
学会了符号函数后,那么我们怎么构建矩阵方程呢?
此时我们举个栗子:
3x+4y+7z=53
x+2y+3z=23
2x-y+3z=16
我们可以轻松观察出答案是x=2,y=3,z=5
那么在matlab中怎么实现呢?
首先写出其矩阵
/ \
| 3 4 7 |
| 1 2 3 | = |A|
| 2 -1 3 |
\ /
%% 矩阵A
A= [sym(3),sym(4),sym(7);sym(1),sym(2),sym(3);sym(2),sym(-1),sym(3)];
pretty(A)
%% 运行结果
>> exmatlab
/ 3, 4, 7 \
| |
| 1, 2, 3 |
| |
\ 2, -1, 3 /
同理得B矩阵
B=[sym(53);sym(23);sym(16)] ;
pretty(B)
/ 53 \
| |
| 23 |
| |
\ 16 /
|a|x=|b|
那么x=b/a;
ROOT = A\B ;
pretty(ROOT)
结果如图所示
/ 2 \
| |
| 3 |
| |
\ 5 /
所以计算最基础得电路函数现在基本已经可以写出来了。
在下一次写作中会写微分方程得求解并用simlink求解