Matlab 2018b基础教程复习
Matlab生成dll使用Python调用+Python安装文件直接生成
最近写CFD的东西,发现主机造轮子太累,还是用matlab吧,有点忘记了,复习一下啦~
![](http://n4.ikafan.com/assetsj/blank.gif)
主页面有设置
![](http://n4.ikafan.com/assetsj/blank.gif)
可以设置一些东西,按照喜好来就好
![](http://n4.ikafan.com/assetsj/blank.gif)
![](http://n4.ikafan.com/assetsj/blank.gif)
可以搜索函数
![](http://n4.ikafan.com/assetsj/blank.gif)
可以在这里进行代码审计
![](http://n4.ikafan.com/assetsj/blank.gif)
会出现这个窗口
![](http://n4.ikafan.com/assetsj/blank.gif)
path的路径
![](http://n4.ikafan.com/assetsj/blank.gif)
如果你有自己得工作目录会包含进来
![](http://n4.ikafan.com/assetsj/blank.gif)
这里点击也可以
![](http://n4.ikafan.com/assetsj/blank.gif)
写好的代码可以去分析
![](http://n4.ikafan.com/assetsj/blank.gif)
写个代码绘图
![](http://n4.ikafan.com/assetsj/blank.gif)
结果
![](http://n4.ikafan.com/assetsj/blank.gif)
在右键打开doc
![](http://n4.ikafan.com/assetsj/blank.gif)
点这里打开浏览器
![](http://n4.ikafan.com/assetsj/blank.gif)
具体的添加语法就不写了
![](http://n4.ikafan.com/assetsj/blank.gif)
三个常用的命令
![](http://n4.ikafan.com/assetsj/blank.gif)
黄金分割比
![](http://n4.ikafan.com/assetsj/blank.gif)
显示多位
![](http://n4.ikafan.com/assetsj/blank.gif)
MATLAB里面一个多项式用它的降序排列的系数组成
roots是一个求根函数
![](http://n4.ikafan.com/assetsj/blank.gif)
三点接着下一个
![](http://n4.ikafan.com/assetsj/blank.gif)
可以直接运行本机命令
![](http://n4.ikafan.com/assetsj/blank.gif)
十进制数值的显示
![](http://n4.ikafan.com/assetsj/blank.gif)
指数
运算注意,点运算是指元素点对点的运算,是矩阵内元素对元素的运算。右除和传统的一样,左除则相反。
X*A=B
右除
A*X=B
左除
![](http://n4.ikafan.com/assetsj/blank.gif)
两种矩阵
![](http://n4.ikafan.com/assetsj/blank.gif)
冒号创建向量
![](http://n4.ikafan.com/assetsj/blank.gif)
这个函数是定义了元素的个数
![](http://n4.ikafan.com/assetsj/blank.gif)
对数型
![](http://n4.ikafan.com/assetsj/blank.gif)
括号提取
![](http://n4.ikafan.com/assetsj/blank.gif)
简单运算
![](http://n4.ikafan.com/assetsj/blank.gif)
嘻嘻
![](http://n4.ikafan.com/assetsj/blank.gif)
点积运算
dot()函数会返回两个参数的点积,两个参数需要同一维度。如果是列向量的时候,等于(a.*b)
![](http://n4.ikafan.com/assetsj/blank.gif)
叉积运算
在解析几何里面是一个过两相交向量交点而且垂直于两个向量所在平面的向量
https://ww2.mathworks.cn/help/matlab/ref/cross.html
![](http://n4.ikafan.com/assetsj/blank.gif)
官网的文档
这个概念在计算几何里面经常使用:
http://www.uzzf.com/qudong/141768.html
![](http://n4.ikafan.com/assetsj/blank.gif)
![](http://n4.ikafan.com/assetsj/blank.gif)
放书一本,如果失效就不要找我了
![](http://n4.ikafan.com/assetsj/blank.gif)
在这个图中,点1和点2是以点0为中心,不是原点,因此我们可以把点0当成原点
x1 = p1.x-p0.x;
y1 = p1.y-p0.y;
x2 = p2.x-p0.x;
y2 = p2.y-p0.y;
int multi ( node p1 , node p2 , node p0 ) {
int x1 , y1 , x2 , y2 ;
x1 = p1.x-p0.x , y1 = p1.y-p0.y ;
x2 = p2.x-p0.x , y2 = p2.y-p0.y ;
return x1*y2 - x2*y1 ; }
叉积代码
叉积怎么用?
叉积>0 , 则以点0为中心点1逆时针转向点2
叉积=0,则三点共线
叉积<0 , 则以点0为中心点1顺时针转向点2
从代数的角度看,x1y2-x2y1就是两个向量构成的矩阵的行列式,即两个向量围成的图形(平行四边形)的面积,再除以2就得到三角形的面积了。
![](http://n4.ikafan.com/assetsj/blank.gif)
最原始的算法是
(以原点为中心)叉积就是x1*y2-x2*y1
在平面中我们为了度量一条直线的倾斜状态,为引入倾斜角这个概念。而通过在直角坐标系中建立tan α = k,我们实现了将几何关系和代数关系的衔接,这其实也是用计算机解决几何问题的一个核心,计算机做的是数值运算,因此你需要做的就是把几何关系用代数关系表达出来。而在空间中,为了表示一个平面相对空间直角坐标系的倾斜程度,我们利用一个垂直该平面的法向量来度量(因为这转化成了描述直线倾斜程度的问题)。
![](http://n4.ikafan.com/assetsj/blank.gif)
叉积定义
![](http://n4.ikafan.com/assetsj/blank.gif)
性质
显然这个定义式我们不怎么喜欢,因为它代数化程度还是太浅,主要就是由于角的正弦值我们不好找,但是这丝毫不影响这个定义式在应用当中的重要性,下面我们需要解决的问题就是,找到一个等价的代数化程度更高的定义式。
![](http://n4.ikafan.com/assetsj/blank.gif)
叉积行列式
https://www.cnblogs.com/rhythmic/p/5727057.html
更加详细的推导可以看这个文章哦
![](http://n4.ikafan.com/assetsj/blank.gif)
混合积没有专门的函数,不过可以这样写
![](http://n4.ikafan.com/assetsj/blank.gif)
构造数值多项式
![](http://n4.ikafan.com/assetsj/blank.gif)
多项式乘法,相当于两个数组的卷积
![](http://n4.ikafan.com/assetsj/blank.gif)
除法,解卷
![](http://n4.ikafan.com/assetsj/blank.gif)
由根构造多项式
接下来的这个东西,有点像结构体。单元型变量和结构型变量,允许用户将不同但是相关的数据类型集成到一起,方便数据管理。
![](http://n4.ikafan.com/assetsj/blank.gif)
注意是{}
用赋值语句直接定义,也看可以cell提前分配零件,然后对单元进行赋值。
![](http://n4.ikafan.com/assetsj/blank.gif)
mxn的置空单元数组
![](http://n4.ikafan.com/assetsj/blank.gif)
![](http://n4.ikafan.com/assetsj/blank.gif)
图形单元变量输出
![](http://n4.ikafan.com/assetsj/blank.gif)
创建一个结构型的数组
![](http://n4.ikafan.com/assetsj/blank.gif)
里面的元素,通过field属性名来组织
![](http://n4.ikafan.com/assetsj/blank.gif)
得到属性名字
![](http://n4.ikafan.com/assetsj/blank.gif)
![](http://n4.ikafan.com/assetsj/blank.gif)
几种常见矩阵的生成