Labyrinth分享 http://blog.sciencenet.cn/u/majian 致力于行人交通及疏散动力学研究

博文

MATLAB使用

已有 7861 次阅读 2009-9-20 18:38 |个人分类:技术|系统分类:科研笔记| reshape, 符号计算

MATLAB中矩阵的变形,除了A转置城A'外,常用的操作还有:

1,调整部分行列的位置;

A = [A(11:end) A(1:10)];

将矩阵的第1行至10行移动到矩阵末尾;

2,将矩阵按列堆叠,也就是说有一堆数据,按列存储,可用

A(:)来实现,实际上在MATLAB中数据的存储既为这种形式。注意,在C语言中数据的存储是按行存储的,所以在完成混合编程中要注意到这种不同,解决的方法实际很简单,在调用接口之前,首先转置一下就OK了:)

3,按照一定的需要,将矩阵转变成一定的形状,可以使用reshape命令: 

B = reshape(A, 4, 2) % 4是新矩阵的列数,2是新矩阵的行数  

======================华丽的分割线================================

昨天小红问我想把一个函数的某个变量赋值后变成另一个函数,用什么函数?比如说,f(x,y,z)本来有三个变量,把z赋值为5,变成另一个函数g(x,y),在MATLAB里怎么实现。

回答呢其实很bt,第一个方法,用手算了之后重新敲一遍函数,哈哈

第二个方法,用到符号计算,比较简单,首先定义符号变量(符号表达式),然后用数值代替其中一个符号,这个解法本来就是上面的问题只不过不是用函数实现,而是通过符号运算来完成,给一个例子:

f=sym('3*x^3+y^2+z');

z=5;

g=subs(f,z);

这就搞定了:-)



https://blog.sciencenet.cn/blog-5422-256789.html

上一篇:非常规突发事件应急管理
下一篇:MATLAB使用2
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 22:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部