随笔分类 - Matlab 编程经验
摘要:依靠若干离散点实现三维曲面插值是工程应用中的常见问题,也是数据处理工作的常见需求。MATLAB 实现上述功能主要依靠 griddata 函数,该函数支持基于三角形的三次插值(仅支持内插值,估计是一种保形插值)和双调和样条插值(支持外插值)来实现上述功能。 案例数据及空间分布如下图所示: 案例代码如下
阅读全文
摘要:无论是进行回归、拟合还是深度学习,总要将总体数据集划分为训练样本集和测试样本集。然而,一般情况下,测试集位于训练集“所覆盖的范围之内”时(如下图所示,红色星号表示训练样本集所在位置,蓝色圆点表示测试样本集所在位置),测试效果较好,测试结果也更具合理性。但是如何验证测试集是否在训练集“所覆盖的范围之内
阅读全文
摘要:一种常见的化学反应平衡关系是离子在溶液中的水解平衡,由于存在平衡常数,所以在给定条件下(温度,pH值等)能够求出溶液中盐离子和弱酸根离子的浓度。但是,化学平衡方程本身是非线性的,而且在一般情况下,溶液中存在众多的平衡体系。使得该问题的求解难度很高。例如: 已知碳酸($H_{2}CO_{3}$)溶液中
阅读全文
摘要:问题: 已知6种国家排放标准的汽车目前的保有量、排放因子和升级成本(升级成本指的是低于该标准的每辆汽车升级到该标准的成本,例如:国6的升级成本为15000元,意味着国1到国5标准的车升级到国6标准每辆车需要15000元)如下表所示,计算在该情况下,达到减排55%目标的升级改造成本最低的升级方案(不改
阅读全文
摘要:使用MATLAB测试/调整算法时,若输出文件的文件名固定,则新的文件会替换掉旧的文件,导致无法查询/对比历史记录。 这里使用MATLAB的时间函数(datetime)获取此刻时间,配合时间转字符串函数(datestr)使文件名带有时间戳。 writetable(Log_Result,['NLP_',
阅读全文
摘要:统计矩阵center中重复的行的个数: [C,~,n]=unique(center,'rows'); s=sum(bsxfun(@eq,n,unique(n)')); unique函数的作用是去除掉重复的行,C为center去掉重复行之后剩余的矩阵,s为行向量,s某一位置的值代表C对应行在cente
阅读全文
摘要:在使用 MATLAB 内置函数 contourf 绘制等值线图时,有时需要更改 / 统一其显示的数值的小数点位数。例如将图中等值线上的数值改为保留一位小数。 代码如下: [xx,yy]=meshgrid(X,Y); figure; [C,h]=contourf(xx,yy,zz1,9); p=cla
阅读全文
摘要:可以使用MATLAB自带的函数 rowexch 生成任意因素和水平的正交表,参考代码如下: clear,clc %% 生成正交实验矩阵 nfactors = 5; nruns = 32; [dRE,X] = rowexch(nfactors,nruns,'interaction','tries',1
阅读全文
摘要:eval 计算MATLAB表达式 eval(expression) ; % expression 为 MATLAB 命令的字符串形式 使用MATLAB编程时,若变量名称需要动态生成或动态改变,可使用该命令快速实现,例如: Pollution={'PM25_TOT','O3_CN'}; month={
阅读全文
摘要:MATLAB求解非线性规划可以使用 fmincon 函数,其数学模型可以写成如下形式: x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 其中,fun是目标函数,x0是初始值,A,b 规定线性不等式约束条件,Aeq,beq 规定线性等式约束条
阅读全文
摘要:binscatter 绘制密度散点图 binscatter(x,y,N) % x 与 y 为需要对比的两个向量,通常是预测值和真实值。N为绘图分辨率,当N为100时,绘图区域分辨率为100*100。 binscatter(trans_Matlab(:),trans_cshape(:),100); c
阅读全文
摘要:squeeze 删除长度为1的维度 B = squeeze(A) 例如:开始时变量preData维度为1,148,112,此时第一维度处于无效状态 运行之后改为148,112,去除了无效的维度 参考资料: https://ww2.mathworks.cn/help/matlab/ref/squeez
阅读全文
摘要:shaperead 从shapefile读取矢量特性和属性 S=shaperead(fileName); %读取filename文件中的数据及属性,并将其保存在结构体 S 中。 shapewrite 将地理向量数据结构写入shapefile shapewrite(S,resultFileName);
阅读全文
摘要:ncinfo 返回有关NetCDF数据源的信息 finfo = ncinfo(source) % 将 source 指所指定的整个 NetCDF 数据源的相关信息返回到结构体 finfo 中,其中 source 可以是 NetCDF 文件名/文件路径 ncwrite 将数据写入NetCDF文件ncw
阅读全文
摘要:主要函数:parfor 并行 for 循环 说明: parfor LoopVar = InitVal:EndVal; Statements; end 在生成的 MEX 函数中或在共享内存多核平台上并行运行的 C/C++ 代码中创建一个循环。 parfor 循环对 InitVal 和 Endval 之
阅读全文
摘要:建立table表格,指定列的名称,列的数据类型,预定义表格规模。 varNames={'Month','Pollution','CaseNum','ME','MeanNE','MaxNE_95th','MeanFE','MaxFE_95th','R_square'}; % 列名称 varTypes
阅读全文
摘要:fillmissing 填充缺失值 F = fillmissing(A,method) % 插值填充案例如下: x = [-4*pi:0.1:0, 0.1:0.2:4*pi]; % 定义非均匀采样点向量,并计算这些点上的正弦函数。 A = sin(x); A(A < 0.75 & A > 0.5)
阅读全文
摘要:preparets 为神经网络模拟或训练准备输入(input x)和目标(target y)时间序列数据 [Xs,Xi,Ai,Ts,EWs,shift] = preparets(net,Xnf,Tnf,Tf,EW) net 神经网络 Xnf 输入数据(无反馈) Tnf 目标数据(无反馈) Tf 目标
阅读全文
摘要:执行Matlab脚本,读取input(x),output(y)数据 命令窗口执行 ntstool 选择 第一类时序问题(NARX),点击 Next 选取对应的训练样本变量,time series format 选择为 Matrix row(因为Matlab神经网络训练样本默认为行向量,而我们准备的数
阅读全文
浙公网安备 33010602011771号