在做数值计算分析中要验证正确性,刚度、质量和阻尼矩阵是有限元分析最终最重要的3个矩阵。本文只针对刚度矩阵,不过我认为质量和阻尼矩阵应该是同理。

王新敏老师的《ansys工程结构数值分析》中有具体的提取刚度矩阵的内容,书中P356页6.3.4节。

我采用的是python语言读取file.full文件内容,参考下面的连接

ANSYS刚度矩阵的提取与解析_长安CAE_新浪博客​blog.sina.com.cn

连接中的程序是可以运行的,就是在前面读取和输出文件的部分需要加点内容,可能是python的版本不同的原因,我的版本是python3.8

下面给出一个模型的提取结果,刚度矩阵是去除约束剩余的

采用的solid185单元,一面上的四个节点约束后刚度矩阵大小为12*12。

红框中的数值是矩阵对角线上的元素在矩阵具体数值(绿框)中的位置。蓝框中的数值是矩阵行数。

用Fortran语言进行编制后得到的文件如下,前面可以看到行列是如何进行循环的。

----------------------------------跟着教程走的部分基本完成-------------------------------

--------------------------------------下面为我自己的感悟----------------------------------

毕竟我是要做数值计算重点就是获得刚度矩阵,因此Matlab编程将上面获得的outmatrix在进一步处理,得到矩阵形式的刚度矩阵(对称矩阵)。

做到这里突然感到真的有点麻烦那,首先要ansys模拟,然后输出matrix矩阵,然后启动python,每次可能还得改一下文件打开的位置,然后得到的outmatrix还要去matlab处理。

所以可以证明我真是闲的冒泡呀,干嘛就非要学人家的python那,这么简单的语句放着matlab不用干嘛那。于是乎下面一段可能很傻但是基本简化了这些步骤为两步的伟大程序诞生了。

主程序和一个调用的程序就是这样的

llk需要手动输入为矩阵的大小,刚度矩阵是对称矩阵,lkk就是行或者列的值。function中的数据就是把matrix里的具体值直接拷贝进去就可以。获得的刚度矩阵如图

---------------------如果有人需要这段程序,还懒得敲,可以问我要-------------------------

该程序目前存在问题只适用于行号按顺序排列的情况,下面这种行号就不适用了,后续会补充完全适用的程序

matlab中矩阵怎么敲_Ansys刚度(质量、阻尼)矩阵的提取(part 1)相关推荐

  1. matlab 十六进制数组,【MATLAB】MATLAB中读取二进制数据文件并加入到矩阵中

    MATLAB中读取二进制数据文件并加入到矩阵中的应用如下: 如果对c语言十分熟悉的话,应该对fopen,fclose,ftell,fseek,fread,fwrite,feof 这些函数非常熟悉了,在 ...

  2. 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和

    在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和 先创建一个新的脚本,并保存,在编辑器中进行编辑.具体如图,以5阶方阵为例: a=zeros(5,5): for i=(1 ...

  3. matlab矩阵信号,matlab - 如何在Matlab中使用移位版本的信号样本创建矩阵? - SO中文参考 - www.soinside.com...

    我有大小为25001x1的矢量,它代表我的一个信号样本,我想创建矩阵,使矩阵的第一列是我的矢量或信号,每列的其余部分是原始信号或矢量的移位版本.我用以下方式完成(通过添加零来考虑10x1的向量用于理解 ...

  4. matlab 求取矩阵中值,matlab中取矩阵中指定列的值组成新矩阵

    matlab 矩阵中怎么加入冒号,比如我想矩阵A的第一列都为"1:" A(:,1)='1:';再问:不行的再答:用结构矩阵或者单元矩阵试试吧. 诚教:matlab中取矩阵的其中几行 ...

  5. Matlab --- Matlab中常数c乘以矩阵A背后的故事

    用矩阵与矩阵的乘法代替常数与矩阵的乘法 (matlab中的一个小trick) 用常数乘以矩阵,正常的计算方法如下 但是如果,你在matlab当中进行相应操作(如下) 殊不知,matlab并不是按照大家 ...

  6. Matlab中对于矩阵数据的读取顺序(即矩阵的维度顺序)

    Matlab中的维度顺序: 对于二维矩阵,第一维度是Y维度(即矩阵的列方向),第二维度是X维度(即矩阵的行方向): 对于三维矩阵,第一维度是Y维度(矩阵的列方向),第二维度是X维度(矩阵的行方向),第 ...

  7. matlab中欠定方程组超定方程组_一篇文章入门大规模线性方程组求解

    前面介绍过主要的线性方程组求解库,参考附录.求解大规模线性方程组是仿真软件求解器的底层技术,求解器时间基本都消耗在方程组求解上.线性方程组的解法比较成熟,方法也有很多,而且不同的方法对应不同类型方程组 ...

  8. matlab randi 函数,MATLAB中的randi函数

    randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) ...

  9. matlab中bitget函数用法_MATLAB基础函数命令

    1.常用命令 dir:列出当前目录下的所有文件 clc:清除命令窗 clear all:清除环境(从内存中清除所有变量) who:将内存中的当前变量以简单形式列出 close all: 关闭所有的 F ...

最新文章

  1. 0-1背包-分支限界
  2. 在python中使用Ansible实现Devops的相关总结
  3. Bootstrap页面布局13 - BS按钮
  4. git 提交命令_工作总结:Git的学习和使用,最详细的Git教程,从入门到精通
  5. waitpid最后以一个参数设为0_西门子MM440变频器参数设置
  6. 『设计模式』反射,反射程序员的快乐!为什么我老是加班?为什么我工资不如他多?原来是我不懂反射!
  7. python UDP-数据报协议
  8. html css 基础(标签选择,分页,行和块元素)
  9. 玩转oracle 11g(50):rman备份脚本
  10. tms320c2000 c语言伪指令,TMS320F240XDSP汇编及C语言多功能控制应用(附光盘)
  11. 问题1:UIView不会被释放--block中如果有self的话会造成循环引用
  12. 设某一机器由n个部件组成_组成原理
  13. ORACLE常用数值函数、转换函数、字符串函数【转】
  14. python训练营 朋友圈点赞收费吗_微信朋友圈点赞,是不是扣话费?有人给
  15. 2022年前端面试题加答案
  16. 2022全国水下机器人大赛国际线上赛来啦!“水下感知赛、通信赛”等你来战!
  17. 45个Word、Excel、PPT快捷键汇总!
  18. 华为交换机导入配置_华为交换机通用配置方式方法
  19. 一文了解“什么是ACL”、“什么是EACL”、“什么是NAACL”、“什么是AACL”国际会议
  20. 后端如何编写API文档给到前端?

热门文章

  1. CSS3:linear-gradient,线性渐变的使用方法
  2. Improving RGB-D SLAM in dynamic environments: A motion removal approach
  3. laravel-admin配置安装完新手使用
  4. NPS cisco 802.1x window7 实现认证接入网络
  5. 【参数】REMOTE_LOGIN_PASSWORDFILE参数三种取值及其行为特性分析
  6. 当你扛不住的时候就读读
  7. Environment.CurrentDirectory 的一个坑
  8. Oracle存储过程中跳出循环的写法
  9. Java Byte取值范围
  10. 超大数据量存储常用数据库分表分库算法总结