![](https://img-blog.csdnimg.cn/2020120810260242.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Matlab科学计算与绘图
文章平均质量分 57
记录matlab实用方法
zhwzhwei
追求卓越、创新、工匠
展开
-
[代理优化学习笔记]1.基于代理模型的优化概述
简单来说,就是寻找一个 简单的输入输出关系来代替计算复杂费时的黑箱函数,有点像插值。比如航空航天中的计算流体动力学,计算一次可能需要数个小时,非常不利于后续的优化分析,这个时候就可以寻找一个简单的模型来取代复杂的计算流体动力学分析过程,缩短优化分析时间。原创 2022-10-14 16:39:08 · 3688 阅读 · 0 评论 -
[Matlab科学计算] Matlab打开Labview保存的TDMS文件
1. TDMS文件简单介绍TDMS文件格式由三个层次结构级别组成:文件、组、通道。文件级别可包含任意数量的组,而每个组又可包含任意数量的通道。通过通道分组,用户可以选择如何组织数据以使其更易于理解。每个TDMS文件都包含两种类型的数据:元数据和原始数据。元数据是存储在对象或属性中的描述性数据。原始数据则是附加到通道对象的数据数组。TDMS文件包含一个连续数据块中多个通道的原始数据。为了能够从该原创 2021-07-15 10:55:18 · 4178 阅读 · 2 评论 -
[Matlab科学计算] 绘制B样条基函数
1. B样条基函数递推公式根据Cox–de Boor递推公式,B样条基函数定义如下.当基函数的次数k为零时(k=0): 当基函数的次数k不为零时: 其中u为参数,i为节点序号,k为次数,节点向量,n为基函数个数。2. Matlab计算B样条基函数代码clear,clc,close all;set(0,'def...原创 2021-04-18 12:03:28 · 3705 阅读 · 5 评论 -
[Matlab科学计算] 粒子群优化算法原理和简单应用
1. 简介 粒子群优化算法(PSO)是一种基于群体智能的进化计算技术,其思想来源于人工生命和进化计算理论,最早在1995年由美国的Kennedy教授和Eberhart教授受鸟群觅食行为的启发提出的。它同遗传算法类似,通过个体间的协作和竞争实现全局搜索。系统初始化为一组随机解,称之为粒子。通过粒子在搜索空间的飞行完成寻优,,它没有遗传算法的交叉以及变异算子,而是粒子在解空间追随最优的粒子进行搜索。粒子群算法采用实数求解,并且需要调整的参数较少,易于实现,是一种通用的全局搜索算法。2. 算法...原创 2021-03-06 21:40:14 · 2525 阅读 · 0 评论 -
[Matlab科学计算] 使用Kriging工具箱进行简单的插值计算
记录一下Kriging法的学习过程1.工具箱下载并安装下载地址http://www.omicron.dk/dace.html,打开网址如下,点击zip-archive进行下载。将下载好的工具箱解压放到matlab安装目录下的toolbox文件下,打开matlab,在set path中将dace添加到路径中。2.教程1)参考工具箱中的dace文档2)https://xg1990.com/blog/archives/2223.插值举例1)dace文档中自带的例子代码如下.原创 2021-03-03 11:34:49 · 14223 阅读 · 21 评论 -
[Matlab科学绘图] 绘制柱形竞赛图(各省历年GDP数据为例)
一、数据准备到国家统计局下载历年(1993-2019年)各省的GDP数据,整理成如下形式。二、导入Matlab中,并绘制柱形竞赛图这里所用的函数,来自GitHub中的一个项目,链接如下https://github.com/minoue-xx/BarChartRaceAnimation。代码如下data = csvread("各省年度GDP数据.csv",1,1);%导入数据data = data';names=["北京市","天津市","河北省","山西省","内蒙古","辽宁原创 2020-12-09 08:58:30 · 1699 阅读 · 2 评论 -
[Matlab科学计算] 四阶Runge-Kutta法解常微分方程
四阶Runge-Kutta法格式的详细推导请查找相关数值分析书籍,这里直接给出四阶Runge-Kutta法的经典格式和Matlab代码 Matlab代码如下:自行修改常微分方程即可%% 四阶Runge-Kutta法解常微分方程% 待求解方程 y'= y-2x/y (0<x<1), y(0) = 1;% 设步长 h = 0.1;clc,clearset(0,'defaultf...原创 2020-10-08 17:51:02 · 14441 阅读 · 1 评论 -
[Matlab科学绘图] 绘制平面位移云图
在用MATLAB做有限元分析的时候,难免需要绘制云图,网上的资料又很少,且不通用。自己琢磨之后在此记录一下,希望也能帮助到其他人。平台:Win7+Matlab 2020a问题描述:假设一个悬臂梁受到均布力作用,如下图所示,通过有限元法计算得到单元节点位移。单元划分和节点编号如下:单元类型:双线性四边形单元,节点编号顺序如下假设有限元计算结果如下:节点编号 1,7,13 2,8,14 3,9,15 4,10,16 5,11,17 6,1.原创 2020-09-19 20:08:53 · 7523 阅读 · 4 评论 -
[Matlab科学计算] 有限元法求二阶常微分方程
我们常常用微分方程来描述现实世界中的一些物理现象。由于微分方程的复杂性,只有在很简单的情况下才能得到微分方程的解析解。由于计算机的发展,采用数值方法求解微分方程的数值近似解得到广泛应用。微分方程的数值解法主要包括两大类:有限差分法和有限单元法。这里主要介绍有限单元法。However,对于一个只学过微积分和矩阵论的工科生来说,要了解有限元法的数学原理还是有些困难,所以这里重点是介绍有限元法的思想和具体计算方法,深层的数学原理并不涉及,主要是本人也不懂~~~1.微分方程基本概念微分方程主要分为常微分原创 2020-09-10 19:33:09 · 12121 阅读 · 3 评论 -
[Matlab科学计算之高效编程] 1. 预分配内存
通过对变量预分配内存可以大大降低计算耗时,下面举例说明。1.没有预分配变量内存情况clearn = 2000;tic;for i=1:n for j=1:n a(i,j) = 1; endendtime = toc;disp(['未预分配内存下计算时间为',num2str(time),'秒'])计算时间为:未预分配内存下计算时间为3.3465秒2.预分配变量内存情况clearn = 2000;tic;a = zer原创 2020-08-10 11:16:30 · 2931 阅读 · 0 评论 -
[Matlab科学计算] 共轭梯度法求一般函数的最小值
代码如下:function [x,val,k]=frcg%功能: 用FR共轭梯度法求解无约束问题: min f(x)%x0是初始点, fun, gfun分别是目标函数和梯度%输出: x, val分别是近似最优点和最优值, k是迭代次数.x0 =[2 2]';maxk=5000; %最大迭代次数rho=0.6;sigma=0.4;k=0; epsilon...原创 2019-10-16 17:35:28 · 5118 阅读 · 0 评论 -
[Matlab科学计算] 功率谱一点介绍
信号的功率谱密度描述随机信号的功率在频域随频率的分布。利用给定的N个样本数据估计一个平稳随机信号的功率谱密度叫做谱估计,功率谱密度一般简称功率谱。谱估计方法分为参数化方法和非参数化方法。非参数化方法又叫经典谱估计,如周期图法、自相关法等,其主要缺点是描述功率谱波动的数字特征方差性能较差,频率分辨率低;而参数化谱估计又叫做现代谱估计,如AR模型法、MA模型法、自回归移动平均模型法(ARMA模型法)等...原创 2019-09-06 22:11:36 · 11471 阅读 · 1 评论 -
[Matlab科学计算] 欧拉角和坐标变换个人总结
[问题由来] 在计算铁磁材料多晶体的有效模量时,需要考虑晶粒在多晶体中的方向分布,一般用三个欧拉角(,,)来表示晶粒在多晶体中的方向,用方向分布函数来表示某个方向的分布密度。基于此,迫使我要掌握欧拉角,但是在阅读众多教材和博客文章中发现,大家对欧拉角的说法不是很统一,所以,基于我的理解整一下欧拉角的相关概念及使用注意事项。一、几个概念1.1经典欧拉角(Proper Eu...原创 2018-11-03 17:49:38 · 27428 阅读 · 2 评论 -
[Matlab科学计算] Matlab符号计算一
工科科研中总会遇到一些微积分的计算,然而大一所学的微积分或者高数早已经忘得所剩无几,也许你只记得一些基本的微分和积分公式,复杂函数的微积分计算的那些奇技淫巧都不记得了;亦或是函数太复杂手工计算容易出错。这些都可以通过Matlab的符号计算来解决。本文只是记录自己学习《Matlab符号运算及其运用》这本书的过程,同时也帮助更多的人了解符号计算。一、 下面先从几个常见的例子开始介绍...原创 2018-11-27 09:32:15 · 1360 阅读 · 1 评论 -
[Matlab科学计算] Matlab工具箱介绍和常用工具箱命令
首先介绍一下常用工具箱的调用命令,这部分持续更新,遇到再补充,也欢迎大家在评论区补充。1.优化工具箱:optimtool2.系统辨识工具箱:ident3.数字信号处理工具箱:sptool4.神经网络工具箱:nnstart5. 滤波器设计工具箱:fdatool未完待续...其次介绍MATLAB中的各种工具箱,如下。一.科学计算以及数据分析系列...原创 2018-12-29 10:26:48 · 8761 阅读 · 0 评论 -
[Matlab科学计算] 频谱分析和FFT算法总结
频谱分析是一种非常重要的信号处理方法,在机械设备故障诊断、振动系统分析、电力系统、无线电通信、信息图像处理和自动控制等学科中都有重要应用。频谱分析的核心是1965年Cooely-Tukey发表的快速傅里叶变换算法(简称FFT),它是离散傅里叶变换(DFT)的快速算法。FFT算法的各种语言实现包已经相当成熟,不需要自己来重新写源代码,本文使用matlab自带的fft函数来实现频谱分析。...原创 2019-01-18 11:51:54 · 21839 阅读 · 8 评论 -
[Matlab科学计算] 频谱分析和FFT算法总结—理论基础
名词解释请看这篇博客:频谱分析和FFT算法总结一.离散傅里叶变换(DFT)的理论已知傅里叶变换和傅里叶逆变换,变换如下:正变换:逆变换:离散傅里叶变换(DFT)顾名思义就是对傅里叶变换进行离散化,包括频率和时间的离散化,我们令和,代入傅里叶正变换中,得:将积分变为求和得:取N点进行时域截断得:考虑到就是离散化后第n点的时间函数值, ...原创 2019-01-19 16:34:29 · 3525 阅读 · 1 评论 -
[Matlab科学绘图] 由欧拉角绘制极图和反极图
因为科研需要,需要自己仿真产生一些晶粒方向,并对其进行极图和反极图展示,在小木虫上找到一个matlab工具包mtex,利用此工具包可以绘制极图和反极图,但是并没有现成的程序可供参考,于是自己摸索出可以利用欧拉角绘制极图和反极图,记录于此供大家交流学习。Mtex工具包网址:https://mtex-toolbox.github.io/欧拉角数据参考小木虫上已有的:http://muchong...原创 2019-03-14 15:40:31 · 13583 阅读 · 39 评论 -
[Matlab科学绘图] Matlab三维绘图总结
主要对matlab三维绘图函数进行总结并展示一下绘图结果,重点不在函数解读,在于函数介绍,函数的具体使用可以查看matlab的help文档。函数名 说明 line,plot3,ezplot3 绘制三维曲线 mesh,ezmesh 绘制三维网状图 meshc,ezmeshc 绘制带有等高线的三维网状图 meshz 绘制带有“围裙”的网状图 sur...原创 2019-06-16 10:25:41 · 12571 阅读 · 2 评论 -
[Matlab科学绘图] Matlab画图常用函数和命令
一、plot(二维绘图)1. 最基本的绘图命令:plot(x,y),x是一个向量,y是对应长度的向量。例如:绘制正弦函数y=sin(x),结果如图1所示。x = 0:pi/100:2*pi;y = sin(x);plot(x,y) 2. 设置 图片背景为白色,结果如图2所示。set(0,'defaultfigurecolor','w')3. 添加坐标轴名...原创 2019-06-10 22:06:14 · 1839 阅读 · 0 评论 -
[Matlab科学计算] Matlab符号计算二:计算常微分方程解析解
1.基本概念含有自变量、未知的一元函数及其导数的方程称为常微分方程。一般形式为: 它的求解就是寻找一个能够满足该微分方程的函数。 方程中函数最高阶导数的阶数称为常微分方程的阶数。阶常微分方程通解一般含有个待定系数,给出边始条件可...原创 2019-07-03 15:45:29 · 4665 阅读 · 0 评论 -
[Matlab科学绘图] 单晶体各向异性能绘图
单晶体的磁性各向异性称为磁晶各向异性,例如Fe立方单晶体,不同的晶向磁化曲线是不同的。沿立方晶体<uvw>方向与<100>方向磁化功的差值称为磁晶各向异性能能。磁晶各向异性能能是磁化强度M方向的函数,当磁化强度M的方向余弦为时,磁晶各向异性能表达式为: 为了直观的表达...原创 2018-09-22 15:59:22 · 2280 阅读 · 0 评论