0.初识MATLAB

暑假用一周配合慕课中南大学的视频学习了MATLAB基础,最后部分的Simulink仿真和与外部程序接口C++了解不深,在此把前面的整理一下。

导言:四种方法求根

%利用MATLAB多项式求根函数roots来求根。
p=[1,-3,1];
x=roots(p)

%绘图:
x=-5:0.1:5;
y1=x.*x-3*x+1;
y2=zeros(size(x));
plot(x,y1,x,y2);

%方法二 : 利用求单变量非线性方程根的函数fzero,求方程在某个初始点附近的实根。
f=@(x)x*x-3*x+1;
x1=fzero(f,0.5)
x2=fzero(f,2.5)

%方法三:利用最优化工具箱中的方程求根函数fsolve。
f=@(x)x*x-3*x+1;
x1=fsolve(f,0.5,optimset('Display','off'))
x2=fsolve(f,2.5,optimset('Display','off'))

%方法四:利用solve函数求方程的符号解,即求得的解是一个表达式。
syms x
x=solve(x^2-3*x+1)

%转换为数值
x=eval(x)

命令汇总:

%{
home                        移动光标至左上角
Tab                         自动补全命令
help                        查询命令信息
type                        查询文件内容
what                        列出.m和.mat文件
which                       查找文件路径
delete                      删除文件


cd                          改变当前目录
dir                         列出当前目录内容
fopen/fclose/fread/fwrite
quit/exit/Ctrl+q            退出matlab

size                        查询矩阵维数
disp                        显示矩阵、文本
length                      查询矢量维数
format                      设置输出格式
tic  toc                    记录语句完成时间

Ctrl+r                      注释
Ctrl+t                      取消注释
%{    %}                    多行注释
Ctrl+g                      跳转至某行
F5                          运行
F10                         单步运行调试
F12                         设置/取消断点
Shift+F5                    退出调试模式
Ctrl+i                      缩进(需选中)
Ctrl+F2                     标注/取消标注当前行
Esc                         删除当前行全部内容
Ctrl+c                      强制中断运行
Ctrl+Tab                    切换当前空间(命令行窗口-工作区-当前文件夹)

realmin                     最小浮点数 2^-1022
realmax                     最大浮点数 (2-eps)^1022
inf                         无限值
exp(n)                      e^n
eps                         浮点相对精度 2^-52
NaN                         空值
...                         续行符
path(path,'e:\work')        path命令设置文件搜索路径

同时使用多个图窗:
f1 = figure;
f2 = figure;
plot([1 2 3],[2 4 6]);//默认画在当前图窗f2
figure(f1);//设置当前图窗为f1
scatter((1:20),rand(1,20));//画在f1上

*****   打开绘图工具:plottools   *****

二维绘图:
    plot:                   绘制二维图形的函数
    subplot:                创建子图
    fplot:                  f(x)函数自适应采样绘制
    hold:                   图形保持

    polar:                   极坐标图
    contour:                 等高线图
    bar barh:                条形图
    hist rose:               直方图(直角、极坐标下)
    pie:                     扇形图
    scatter:                 散点图
    stairs:                 阶梯图
    stem:                    杆图
    compass:                罗盘图
    feather:                羽毛图
    quiver:                 箭头图
    loglog:                 双对数坐标图
    semilogx:               X轴为对数的坐标图
    semilogy:               Y轴为对数的坐标图

    text:                   放置文本
    gtext:                  跟随鼠标放置文本
    title:                  标注图形的文本标题
    legend                   图例标注
    axis:                   设置坐标框大小
    xlabel:                 X轴坐标标记
    ylabel:                 Y轴坐标标记
    grid                     网格
    box                      边框
    fill:                   填充二维多边图形

三维绘图:
    plot3                   绘制三维图形
    fplot3                  参数化曲线绘图
    meshgrid                生成平面网格数据
    mesh                    绘制三维网格图
    surf                    绘制三维曲面图
    meshc meshz surfc surfl 添加等高线 底座 等高线 光照效果
    sphere                  绘制三维球面
    cylinder                绘制三维柱面
    peaks                   生成绘图数据矩阵
    view                    视点处理
    Colormap                设置色图
    shading                 表面着色
    NaN                     图形裁剪

矩阵运算:
矩阵的秩                          rank(A)
矩阵的行列式值                     det
矩阵的迹                          trace(A) 
矩阵的范数                        norm
矩阵的条件数                      cond
提取矩阵(向量)对角线元素           diag
上(下)三角矩阵                    triu(trid)
矩阵的旋转                        rot90
矩阵的左右(上下)翻转              fliplr(flipud)
矩阵求逆                          inv(A)
特殊矩阵                zeros ones eye rand randn
专门学科特殊矩阵    magic Vandermonde Hibert compan pascal
特征值与特征向量                    eig
稀疏存储与完全存储方式转化       sparse full
带状稀疏矩阵                      spdiags
单位矩阵的稀疏存储                 speye

数据统计分析:
向量、矩阵最大最小元素:   max  min
平均值、中值              mean median
求和、求积                sum  prod
累加和、累乘积            cumsum cumprod
标准差、相关系数          std   corrcoef

多项式计算:
相乘 相除                 conv  deconv
求导                      polyder
代数、矩阵求多项式的值     polyval polyvalm            
求根                      roots
一、二维数据插值          interp1 interp2
曲线拟合建立多项式函数     polyfit

数值微积分与方程:
数值微分                    diff
定积分                   quad quadl integral quadgk
数值积分                    trapz
二重积分                 integral2 quad2d dblquad
三重积分                 integral3 triplequad
线性方程组求解直接法        \左除  [L,U]分解
线性方程组迭代法          jacobi gauseidel
单变量非线性方程求解         fzero
非线性方程组求解            fsolve
一元函数极值求解(无约束)    fminbnd
多元函数极值求解(无约束)  fminsearch fminunc
多元函数极值求解(有约束)    fmincon
常微分方程数值              ode45 (odennxx)
刚性问题                   ode15s (odenns)

符号运算:
建立符号对象               sym syms
转化为数值结果              eval
设置值域                   assume
分解符号表达式             factor
展开符号表达式             expand
(按变量)合并同类项         collect
提取符号表达式分子分母     numden
提取符号表达式系数         coeffs
符号表达式化简             simplify
符号 -> 多项式系数向量     sym2oply
向量 -> 符号表达式         poly2sym     
符号函数的极限             limit
符号函数的导数             diff
符号函数的(不定/定)积分    int
级数求和                   symsum
泰勒级数                   taylor
代数方程符号求解            solve
常微分方程(组)求解         dsolve

Simulink:
启动                      simulink
步骤:①建立系统仿真模型 (添加模块 设置模块参数 进行模块连接)
②设置仿真参数 (选择仿真起止时间 求解算法)
③启动仿真并分析仿真结果
子系统                    Subsystem模块
S函数System Function      一种功能模块
模板文件                 edit sfuntmpl.m
ctrl+r/l                 旋转模块

外部程序接口:

%}

猜你喜欢

转载自blog.csdn.net/qq_36502291/article/details/81207736