中文注释乱码原因:
MATLAB2017a之前的默认的中文编码格式是GBK,而之后的版本的中文默认编码格式是UTF-8。因此以UTF-8格式创建的.m文件,发送给另一位同学的电脑上,使用GBK编码的软件打开浏览时,就会出现中文显示乱码的问题。例如在2021a上创建一个.m文件,再用2017a打开,就出现了乱码。
解决方法:用记事本打开并将编码方式由UTF-8改成ANSI
MATLAB知识体系
全网最全Matlab常用函数(包括按首字母进行分类)
dslove,solve,ode45,simplify,
syms,inline
[x,fv]=fminbnd(func,x1,x2)求某区间内极小值
eval(用于循环)
eval函数还可以计算符号表达式的值。不用定义f(x)
直接定义f,x=2, eval(f)就可以算出f(2)的值
rref:将矩阵化简成 行梯形矩阵,可顺便求解线性方程组
rref亦可化简同时,顺便得到极大无关组
rref求极大无关组并通过for循环打印
expand、factor(多项式)
sort
vpa
符号函数
syms f(x) —— 定义两个符号变量,f和x,且二者之间还有函数关系
在声明符号函数时,还可以使用inline函数:
f = inline(“x ^ 3+5x”) 或者 ff = inline(’-xsin(x^2-x-1)’, ‘x’) 如果不带引号,则其内部的变量都应已知。
匿名函数
匿名函数(全面版
format格式控制
format+一些快捷键
图像
线性代数知识体系
文件读取
读取列数不一样数据
readtable函数
readmatrix函数
readmatrix("城市坐标.xlsx",'range','A2:C10')
M = readmatrix('basic_matrix.txt')
demo
读取
clc, clear
format short e
% ----------------读取方式一
% load每行列数一定要相同
% textread的空白部分会读入0
% readtable、readmatrix、txtscan的空白部分是NAN
a=readtable('data6_18.txt')%readmatrix 2019版本加入
a=table2array(a)
%---------------- 读取方式二
fp= fopen('data6_18.txt','r');
textcell = textscan(fp,'%f %f %f %f %f %f %f %f','delimiter',' '); %按最多的列进行格式化,以空格为分割
a=cell2mat(textcell); %转成矩阵形式,再通过Nan判断数据是否有效即可
fclose(fp);
x=a([2:2:6],:)'; x=x(~isnan(x));
不要嫌弃txtscan要确定格式,给定的文件,列数是有限的 %f……%f 手打完全OK
txtscan基础用法
txtscan特殊用法
MATLAB提取不规则txt文件中的数值数据
matlab文件读取总结
matlab对文件的读写
矩阵运算
矩阵运算
1、一些特殊矩阵,
ones(m,n)
zeros(M, N)
2、矩阵的加减
3、矩阵的点乘、点除
矩阵的点乘,对应元素相乘,亦可矩阵各元素乘一个常数
4、矩阵的左除 \与右除 /
简单记忆Matlab中的左除()和右除(/)
左除: C = B\A 即为 BC =A
右除: C = B/A 即为 CA = B
AX=b,求解X矩阵,X = A\b
5、矩阵的乘方X^y
微分方程求解
dsolve、ode系列函数详解
D: 微分符号;D2表示二阶微分,D3表示三阶微分,以此类推。
Y = dsolve(‘eq1,eq2,…’ , ’cond1,cond2,…’ , ’Name’)
其中,‘eq1,eq2,…’:表示微分方程或微分方程组;
’cond1,cond2,…’:表示初始条件或边界条件;
‘Name’:表示变量。没有指定变量时,matlab默认的变量为t;
关于ode45的使用
再来一个例子
ode45解微分方程的数值解
matlab中desolve、solve函数的应用
二阶微分方程,翻高数书叭
solve详解:1)等式:单/多变量+线性/非线性 ;2)不等式
Matlab中diff函数的使用