Matlab常用函数和技巧总结

it2023-07-25  83

本篇只是关于matlab的日常总结,比较杂乱,内容丰富后再进行分篇整理

函数求导

一阶导数diff(f)二阶导数diff(f,2)

函数求积分

不定积分int(f,x)定积分int(f,x,1,10)

将变量或式子显示为我们常用的书面形式

pretty(ans)

矩阵求逆

inv(A)当用A的逆左乘其他矩阵时,M=inv(A)*B不如M=A\B运算更快

函数化简

 f=collect(f);%化简 f=vpa(f,6);%精度为6

检查函数输入个数

nargin%表示该函数输入参数的个数

subs替换函数

用0代替自变量x,返回该形式下的函数值

ezplot绘图函数

绘制函数f的图像ezplot(f)绘制函数f在区间[1,10]的图像ezplot(f[1,10])

无穷大

inf%正无穷大-inf%负无穷大

end索引

使用end索引到向量的最后一个元素

解方程组

参考https://www.cnblogs.com/gentle-min-601/p/9672221.html

防止分母为零

分母加epslimit()

解决solve求解方程组时出现root与变量z的问题

syms b m y eqn = (-b-2)* y^3+ 3* b *m*y^2-3*b*m^2*y+b*m^3== 0; y = solve(eqn, y)

使用roots()函数 syms b m y eqn = (-b-2)* y^3+ 3* b *m*y^2-3*b*m^2*y+b*m^3== 0; y = solve(eqn, y); roots(y)

向量转置

length()

查看向量中元素个数

判断两个数值是否相等时最好不要用==

因为精度原因,直接用==判断,并不能如意用两个数值差<=1e-5比较好,精度自己掌握

学会使用digits和vpa

此处,如果不用digits和vpa去控制,则可能在if语句判断时,t_current明明等于t(m+1),却满足不了该条件

fprintf()

fprintf('t2_i:%d, t3_i:%d, t4_i:%d, t5_i:%d', t2_i, t3_i, t4_i, t5_i);可以打印变量值

disp()

disp('hello world');不能打印变量值

保存变量

save('data','t2_i', 't3_i', 't4_i', 't5_i')将变量保存在data.mat文件

solve

sol = solve(conds, [v_sym a_sym], 'ReturnConditions', true);%conds为不等式方程组向量;[v_sym a_sym]是变量sol = solve(conds, [v_sym a_sym]);%conds为等式方程组向量,[v_sym a_sym]是变量

strsplit切分字符串

    conditions_str = char(sol.conditions);%先转成char     conditions_ = strsplit(conditions_str,'&');%用strsplit对其切分,切分符号为‘&’

isempty()

判断元素是否为空

isreal()

判断元素是否为实数

str2num()

字符转数字

axis equal

保持各轴的比例一样

 

 

最新回复(0)