学習教科書は次のとおりです。MATLABの基本とアプリケーション第3版、ZhangPingとWuYunjieが編集、Beihang Press
以下は私が勉強していたときに教科書にコピーされたコマンドと私のメモです
I / Oファイル操作機能 | 開いた後は必ず閉じてください |
fclose( 'text.txt') | %ファイルを閉じる |
fopen( 'text.txt'、 'r') | %ファイルは読み取り専用として開かれています。「w」は書き込みを意味します |
A = fscanf(myf、 '%5d')%myf = fopen( 'text.txt'、 'r') | %形式に従ってファイルから文字を読み取ります |
frpintf(fid、 '%d'、val) | %Cの使用法と同じように、フォーマットに従ってデータをファイルまたは画面に書き込みます |
fgetl(f1) | %ファイルの行を読み取り、改行文字を無視し、一度に1行ずつ読み取り、ループで呼び出します |
fgets(f1) | %改行を含むファイルの行を読み取り、一度に1行ずつ読み取り、ループで呼び出します |
シンボリック式の簡略化 | |
コマンド | 説明 |
collect(f) | %角かっこを開き、次のような同様の項目をマージします:f =(x ^ 2-1)*(x-2); |
展開(f) | %括弧を開き、累乗の降順で並べ替えます |
factor(f) | %分解係数は(x + 1)(x-1)に分解されます |
単純化(f) | %簡略化された式 |
symsum | そしてシリーズ、テイラー展開のようなもの |
シンボリック多項式 | |
charploy(および) | %yの特性多項式を見つける |
horner(ans) | %共通の因子を抽出するかのように、多項式を降順でネストされた形式に変換します |
numden | %分子または分母の抽出 |
poly2sym | %多項式->記号(記号) |
sym2poly | %符号->多項式 |
記号計算 | syms x%は符号変数をxとして定義します; sym( 'sin(x)^ 2-2 * x + cos(x)^ 2')%はシンボリック式を確立します |
diff( 'a') | %導関数または差 |
int(f、x) | %関数fについて、変数xの導関数を求めます |
[v、j] = jordan(y) | %行列yの固有ベクトル行列と固有値の対角行列を見つけます。ここで、jはヨルダンの標準型です。 |
テイラー(f) | fの%テイラー展開 |
符号付き可変精度演算 | |
数字 | 可変精度を設定する |
vpa(a、50) | %次のように50桁の精度でaを表示します:vap( 'pi'、50) |
シンボリック方程式を解く | |
作曲 | 機能構成 |
dsolve( 'Dy = 1 + y ^ 2'、 'y(0)= 1'、x) | %微分方程式を求めます。初期値もdy / dxのdxとしてxに与えられます。 |
dsolve( 'D2y = cos(x)-y'、 'Dy(0)= 0'、 'y(0)= 1'、x) | %2階微分方程式を見つける |
[x、y] = dsolve( 'Dx = 3 * x + 4 * y'、 'Dy = -4 * x + 3 * y'、 'x(0)= 0、y(0)= 1') | %2つの微分方程式を解く |
finverse | 逆関数 |
linsolve | 同次線形方程式の解 |
slove(f、x) | %変数x slove(f)の根を見つけるために方程式fを探すことは、デフォルトでxの根を見つけることです。 |
[xx、yy、zz] = resolve(f1、f2、f3) | %方程式f1、f2、f3のxの根を見つけ、結果は互いに対応します |
シンボリック線形代数 | |
charploy | 特性多項式 |
それ(y) | %行列yの行列式を見つける |
[p、e] = eig(y) | %行列yの標数根と標数ベクトルを見つける |
inv(および) | %行列yの逆行列y-1を見つけます |
[v、j] = jordan(y) | %行列yの固有ベクトル行列と固有値の対角行列を見つけます。ここで、jはヨルダンの標準型です。 |
yt =転置(y) | %yの転置行列yTを見つける |
svd(y) | %行列の特異値を見つける |
図 | |
ezplot(f) | %関数fの場合、プログラムは描画する変数範囲を自動的に選択します |
ezplot(f、[-10 10]) | %は-10、10の間隔でプロットされます |
plot(x、y) | %2次元グラフのx、y軸を描画します |
プロットにはパラメータがあります1)b青、cシアン、g緑、K黒、m紫、r赤、w白、y黄色など:plot(x、y、 'k:x')%黒点線マークx | |
2)-デフォルト、-。点線、:点線、---破線など:plot(t、x、 'k-。x')%黒点線マークx | |
3).点,+十字号,o圆圈,*星号,x叉号,s正方形,d棱形,h六角形,p五角型,v下三角,^上三角,<左三角,>右三角 | |
grid on/off | %无参数,直接用,给图像加网格 |
axis([xmin xmax ymin ymax]) | %调整图像的坐标范围 |
axis(控制) | |
有参数 'auto'自动设置坐标,‘square’将图形设置为正方形图形,‘equal’将图形的x.y坐标轴的单位刻度设置为相等 | |
normal'关闭axis(square)和axis(equal)命令的作用,xy使用笛卡尔坐标系,ij使用matrix坐标系(坐标原点在左上方,x坐标从左到右增大,y坐标从上到下增大) | |
on打开所有轴标注,标记和背景,off关闭所有轴标注,标记和背景 | |
set(gca,'xtick',[-1:0.05:1]) | 给x轴标示向量 |
xlabel('t(deg)') | %X轴标注 |
ylabel('magnitude(V)') | %Y轴标注 |
title('hello world!') | %图形标题 |
text(3.14,sin(3.14),'\leftarrow this is zero for\pi') | %在x,y处标注说明文字,\leftarraow为左箭头,\pi为Π |
有参数\pi为Π,\alpha为α,\betaβ,\leftarrow为⬅,\rightarrow➡,\bullet为· | |
legend(字符串1,字符串2,…,参数) | such: legend('first','second',-1) |
有参数0:尽量不与数据冲突,自动放置在最佳位置;1放置在图形的右上角,2左上角,3左下角,4右下角,-1视窗外右边 | |
hold on/off | %保持当前图形及轴系的所有特性 such: plot(x,sin(x),'-.') hold on plot(x,1.5*cos(x),':') |
subplot(m,n,p) | %将当前绘图窗口分割成m行n列区域,p表示第几个区域 such:subplot(223)表示划分2行2列,画出第3块画布 |
fill(x,y,'b') | %填充二维封闭多边形 |
semilogx(x,y) 或者semilogy(x,y) | %绘制半对数坐标,其中x为10为底的对数坐标,y轴为线性坐标; |
loglog(x,y) | %绘制x,y轴都是以10为底的对数坐标 |
polar(t,r) | %绘制相角为theta,半径为radius的极坐标图形such: t=0:0.01:2*pi; r=2*cos(2*(t-pi/8)); |
fplot('sin(3*x)',[0,4]) | %绘制函数sin3x在区间0到4的图形 |
pie(x,[1,0,1,0,0,0]) %其中x=[15,35,10,15,25]; | %绘制饼图,并把1和3的饼块分离出来 |
bar(x,'stack') 和 bar(x,'group') | %绘制条形图和柱状图(垂直方向) |
barh(x,'stack') 和 barh(x,'group') | %绘制条形图和柱状图(水平方向) |
stairs(x,y) | %绘制梯形图 |
hist(y,x) | %绘制y在以x为中心的区间中分布的个数条形图 |
compass(x) %其中x含复数的一维矩阵 | %绘制向量图 |
compass(y,z) %y,z都是实数 | %以复数坐标系的原点为起点,绘制出带箭头的一组复数向量,其中x是实部,y是虚部 |
feather(x) 或 feather(y,z) | %feather的起点为序号(1,2,3…),而不是原点,一般用不上 |
plot3(sin(t),cos(t),t,'b') | %绘制三维图,参数为x,y,z,颜色标线圆圈等参数 |
view(az,el) | %将图形视角改变到指定的方位角az和仰角el上 |
注:1)view([x,y,z])在笛卡尔坐标系中将视图设为沿向量[x,y,z]指向原点,2)view(2)默认二维视角,az=0,el=90; 3)view(3)默认三维视角,az=-37.5,el=30 | |
4)[az,el]=view返回当前的方位角az和仰角el,5)view(T),用一个4X4的转换矩阵T来设置视角,6)T=view返回当前的4X4转换矩阵 | |
[X,Y]=meshgrid([1,2,3,4],[5,6,7]) | %将向量x(1xm),y(1xn)转换为三维网格数据矩阵X(nxm),Y(nxm) |
mesh(X,Y,Z) | %绘制三维网格曲面 |
meshc(X,Y,Z) | %带等高线的三维网格曲面 |
meshz(X,Y,Z) | %带底座的三维网格曲面 |
hidden on/off | %网格线条区域透明或不透明 |
bar3(x,'grouped') %x=[10,20,30;15,35,10;5,20,25]; | %绘制垂直的三维直方图 |
bar3h(x) %x=[10,20,30;15,35,10;5,20,25]; | %绘制水平的三维直方图 |
参数 grouped分组式的,detached分离式的,stacked累加式的 | |
[X,Y,Z]=peaks(30); | 生成三维向量 |
surf(X,Y,Z) | %绘制三维曲面图 |
shading flat平滑/interp插值 | shading实现平滑加颜色,插值加颜色等功能 |
值为NaN时,绘图会忽略NaN,因此会出现一个孔 | |
surfc(X,Y,Z) | %画出一个具有等高线的曲面图 |
surfl(X,Y,Z) | %画出一个具有亮度的曲面图 |
colormap pink %colormap ([12/255,33/255,45/255])%RGB | 图变粉色,white也行,其他报错 |
contour3(X,Y,Z,32,'r')%32代表等高线圈数 | %三维等值线图 |
contour(X,Y,Z,32,'r') | %二维等高线图 |
pcolor(X,Y,Z) | %单色等值线图 |
waterfall(X,Y,Z) | %瀑布图? |
quiver(X,Y,DX,DY) %[DX,DY]=gradient(Z,0.5,0.5) | %在等值线图上画方向箭头或者速度箭头 |
fill3(rand(3,5),rand(3,5),rand(3,5),'b') | 使用数组x,y,z作为多边形的顶点,b为填充颜色画出三角形 |
clabel(cs) %cs=contour(x,y,z,8) | 标注等值线图标上的高度值 |
其他 | |
who | %查看工作空间有哪些变量 |
whos(x) | %查看x的细节如占用内存和大小类型等 |
exist('a') | %查询变量a是否出现,0不存在,1当前空间有一个,2~8给出变量作为文件,函数等信息 |
clear | %清除当前工作空间变量 |
clc | %清除工作空间指令和结果 |
format short %format 参数 | %数据显示格式 short是默认显示,4位小数 |
参数:long为16位,short e为5位加指数,long e为16位加指数,short g仅用5位数表示,long g用15位表示,hex十六进制,bank2个十进制位,+正负或零,rat有理数近似 | |
help sqrt | %了解关于sqrt函数的用法和功能 |
[n,m]=size(a) | %返回a数组的行,列数 |
length(a) | %返回数组a的维度 |
find(a>3) | %给处特殊要求(非零或者其他条件)的矩阵元素的行/列标记 |
a=rand(n,m) | %元素服从0~1之间的均匀分布的随机矩阵 |
golbal a b c | %全局变量,需要工作空间和M函数都出现 |
sqrt(a) | %对a开根号 |
poly(a) | %由多项式的根求多项式系数,结果为行向量表示(最后一位是常数位) |
polyder(p) | %对多项式p(x)求微分 |
y=polyval(p,x) %p(x)是函数,x是变量数组 | %计算多项式p(x)的数值 |
abs(a) | %从字符串到ascii码的转换 |
setstr(a) | %ascii码转换成字符串 |
int2str(a) | %整数转换成字符串 |
num2str(a) | %数字转换成字符串 |
upper(a) | %字符串变成大写 |
lower(a) | %字符串变成小写 |
str2mat(a) | %字符串转换成一个文本矩阵 |
str2num(a) | %字符串转换成数字 |
a=sprintf(‘a= %d',b) %b=5; | %按照给定格式,数字转换成字符串 |
a=sscanf(s,'%f') %s='1.11 2.34567' | %按照给定格式将字符串转换成数字 |
eval(fun(x)) %fun(x)可以为M函数,也可以为‘sqrt(3)’ | %可以运行用户创建的M函数,计算并赋值给其他变量 |
polyfit(x,y,1) | %最小二乘法一维(修改1为2变2维拟合)拟合 |
z=interp1(x,y,x0,'method')%x0为插值点,method为插值方法 | %一维插值(x,y平面) |
z=interp2(x,y,z,x0,y0,'method') | 二维插值(三维立体空间)x0,y0为指定的自变量插值计算点数组 |
参数nearest最接近的相邻点插值,linear线性插值(默认),spline三次样条插值,cubic三次插值 |
下面为我整理出来的excel表格
链接:https://pan.baidu.com/s/1CzpYN1HKpEdEybVZt10mXg
提取码:py01
复制这段内容后打开百度网盘手机App,操作更方便哦