MATLAB 特色举例

考虑两个矩阵 A 和 B 的乘积问题,在 C 语言中要实现两个矩阵的乘积并不仅仅是一组双重循环的问题。双重循环当然是矩阵乘积所必需的,除此之外要考虑的问题很多。例如:A 和 B 有一个是复数矩阵怎么考虑;其中一个是复数矩阵时怎么考虑;全部是实系数矩阵时又怎么管理;这样就要在一个程序中有 4 个分支,分别考虑这 4 种情况。然后还得判断这两个矩阵是否可乘。而考虑两个矩阵是否可乘也并不仅仅是判断 A 的列数是否等于 B 的行数这么简单。其中一个若为标量,则它们可以无条件地相乘。其中有标量时又得考虑实数与复数的问题等。所以说,没有几十分钟的时间,用 C 语言并不可能编写出考虑各种情况的子程序。有了 MATLAB 这样的工具,A 和 B 矩阵的乘积用 A*B 这样简单的算式就能表示了。

〖例 1-1〗矩阵生成与运算。考虑金庸作品中经常提及的一个“数学问题”, 该问题用半数学语言描述就是:如何生成一个 3x3 矩阵, 并将自然数 1, 2, ..., 9 分别置成这 9 个矩阵元素,才能使得每一行、每一列、且主、反对角线上元素相加都等于一个相同的数。

这样的矩阵称为“魔方矩阵”。用 MATLAB 的 magic() 函数,我们可以由下面的命令立即生成这样的矩阵:

>>  A=magic(3)

A =

8   1   6

3   5   7

4   9   2

还可以由 B=magic(10) 一次生成 10x10 的魔方矩阵。如果想求出矩阵的行列式和特征值,可以分别由 det(B) 与 eig(B) 立即得出结果,而同样的工作在 C 下并不是很简单就可以得出的,算法选择不好,还可能得出错误的结果。

〖例 1-2〗考虑一个二元函数

如何用三维图形的方式表现出这个曲面?

用 C 这类语言,绘制图形是一个难点,且从一个机器移植程序到另一个机器,大部分调试程序时间都花在这上。但使用 MATLAB 这类高级语言,完成这样的工作就是几个直观语句的事。且得出的图形美观准确、可以将语句毫不变化地移植到另外的机器上,得出完全一致的结果,如下所示。

>> [x,y] = meshgrid(-3:1/8:3);

z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5)...

.*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2);

surf(x,y,z), shading interp; colorbar

〖例 1-3〗微分方程的数值解法是在科学与工程计算中经常遇到的问题。假设著名的 Lorenz 模型的状态方程表示为:

若令

且初值为

,e 为一个小常数,假设

则我们可以由下面的几个语句就可以描述微分方程:xdot = lorenzeq(t,x)

xdot=[-8/3*x(1)+x(2)*x(3);

-10*x(2)+10*x(3);

-x(1)*x(2)+28*x(2)-x(3)];

这样下面几个语句就能求解该微分方程,绘制出时间曲线与相空间曲线,如下所示。>> t_final=100; x0=[0;0;1e-10];

[t,x]=ode45('lorenzeq',[0,t_final],x0);

plot(t,x),

figure; plot3(x(:,1),x(:,2),x(:,3)); axis([10 40 -20 20 -20 20]);

〖例 1-5 〗(注,这里的编号采用作者书中的序号) 设有解析函数

,利用 MATLAB 的符号运算工具箱可以对该函数进行解析推导,得出诸如高阶导数、积分、Taylor 幂级数展开等。>> syms x; f='x^2*(sin(x))^2';

diff(f); f1=simple(ans)

f1 =

x-x*cos

matlab -1,matlab(1)相关推荐

  1. c++引用matlab类,matlab调用C++函数浅谈(一)

    由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...

  2. 磁盘驱动读取系统MATLAB仿真,matlab读写..doc

    matlab读写. MATLAB二进制数据文件的读写 (2011-06-04 19:44:27) 转载▼ 标签: easleyhux matlab 二进制读写 杂谈分类: MATLAB 所谓二进制格式 ...

  3. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插

    上篇博文采用了零阶保持(ZOH)的方式进行了重构:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH) 这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是 ...

  4. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)

    上篇博文采样sinc函数内插的方式实现了模拟信号的重建:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(一) 这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案 ...

  5. Matlab:Matlab中常用的函数、案例详细攻略

    Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...

  6. vb调用matlab工具箱,Matlab与VB集成 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    工业生产中经常遇到复杂的数据信息处理问题,需要大运算量的矩阵计算及对分析结果进行实时.直观的图形化显示.Matlab是集数值分析.矩阵运算.信号处理和图形显示于一体的高性能数学软件,将其强大的计算功能 ...

  7. ccs matlab联调,MATLAB与CCS联调中idelink_ert_tlc和ert_tlc选择

    同问.希望高工给解释一下.我在用idelink_ert_tlc的时候就能通过2014B给DSP直接下载程序.但是用ert_tlc就不行,提示文件路径不对.问题描述如下,请高工帮忙解决一下,谢谢! ## ...

  8. matlab转向语句,MATLAB控制语句

    MATLAB控制语句 目的:研究控制结构(用于,是否,切换,中断,继续,输入/输出功能,读取和存储数据). 如果:如果计算逻辑表达式,并根据表达式的值执行一组语句. If语句的语法 例子 输出: Sw ...

  9. opencv matlab配置,Matlab下运行c++程序的配置(包含opencv的c++程序)

    本文使用的是matlab2012b.VS2010和OpenCV249 1.打开matlab 2.输入mex -setup Welcome to mex -setup.  This utility wi ...

  10. matlab netcdf,Matlab读取Netcdf文件

    NetCDF(网络通用数据格式)文件后缀为.nc,文件中的数据结构包含维(dimensions).变量(variables)和属性(attributes)三种描述类型,每种类型都会被分配一个名字和一个 ...

最新文章

  1. ASP.NET 3.5 企业级开发
  2. oracle基本实用技术
  3. 缺少 mcrypt 扩展。请检查 PHP 配置。(phpmyadmin)
  4. 【转】Android Studio简单设置
  5. 【传统PSTN与互联网通信】
  6. python data frame_Python dataframer包_程序模块 - PyPI - Python中文网
  7. 力扣704,二分查找(JavaScript)
  8. 2021-09-06Cross-product transformation
  9. IEEE1588v2解析(2)--PTP协议概述
  10. 微信公众号推送的模板消息无法跳转到小程序指定页面?
  11. QTreeView的使用(四)
  12. 地图索引文件MXD保存到数据库中
  13. Ubuntu18.04安装carla0.9.9 UE4.24踩坑版
  14. 驳《驳〈论OIer谈恋爱的必要性〉》
  15. 客户成功团队的 OKR 案例
  16. rocketmq client端源码分析(1)-consumer实现
  17. Git创建新分支并提交到github
  18. 神经网络与深度学习一 :介绍深度学习
  19. 很是惆怅,不知如何看待自己智能车竞赛获奖结果
  20. Java并发插件_五分钟,轻松掌握Java并发编程!

热门文章

  1. 【Python金融量化 7- 100 】、七、计算两只股票方差和相关性
  2. 在理解通用近似定理之前,你可能都不会理解神经网络
  3. 我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
  4. 赠票福利 | 2019,GMIS归来!杨强、吴恩达等全球重磅嘉宾共话数据智能
  5. AAAI 2019 Oral | 让TA说你想听的—基于音/视频特征解离的讲述者人脸生成
  6. 在指定文件夹下打开Jupyter Notebook
  7. python的for循环语句怎么写_python中的for循环语句怎么写
  8. 【SQL编程】Greenplum 实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
  9. class path resource [log4j.properties] cannot be resolved to URL because it does not exist
  10. 前后端分离报错The Token’s Signature resulted invalid when verified using the Algorithm: HmacSHA256