Matlab与科学计算的基本运算
各种允许的比较关系
>, >=, <, <=, ==,~=, find(), all(), any()
例:>> A=[1,2,3;4,5,6;7,8,0]
A =
1 2 3
4 5 6
7 8 0
>> find(A>=5), %大于或等于5元素的下标
ans =
3 5 6 8
>> syms s;
>> P=(s+3)^2*(s^2+3*s+2)*(s^3+12*s^2+48*s+64)
P =
(s+3)^2*(s^2+3*s+2)*(s^3+12*s^2+48*s+64)
>> simple(P) % 一系列化简尝试,得出计算机认为的最简形式
ans =
(s+3)^2*(s+2)*(s+1)*(s+4)^3
MATLAB 实现:
s1=simple(s) 从各种方法中自动选择最简格式 [s1,how]=simple(s) 化简并返回实际采用的化简方法
其中,s为原始表达式,s1为化简后表达式,how为采用的化简方法。
其它常用化简函数(信息与格式可用 help命令得出)
collect( ) 合并同类项
expand( ) 展开多项式
factor( ) 因式分解
numden( ) 提取多项式的分子和分母
sincos( ) 三角函数的化简

Q =
s^7 + 21*s^6 + 185*s^5 + 883*s^4 + 2454*s^3 + 3944*s^2 + 3360*s + 1152
>> syms s1
>> subs(Q,s,s1)
ans =
s1^7 + 21*s1^6 + 185*s1^5 + 883*s1^4 + 2454*s1^3 + 3944*s1^2 + 3360*s1 + 1152
gcd(m,n) lcm(m,n) factor(n):质因子分解
isprime:判断质数
例:1-100间质数
>> A=1:10; isprime(A) %若向量A中某个整数值为质数,则相应位置为1,其他为零。
ans =
0 1 1 0 1 0 1 0 0 0
>> A=1:100; B=A(isprime(A))
B =
Columns 1 through 16
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53
Columns 17 through 25
59 61 67 71 73 79 83 89 97
switch语句
和 C 语言的区别
当开关表达式的值等于某表达式,执行该语句后结束该结构,不用 break
当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式 (用大括号把这些表达式括起来,用逗号分隔)
otherwise 语句,不是C语言中的 default(但与之等价)
程序的执行结果和各个case顺序无关
case 语句中条件不能重复,否则列在后面的条件将不能执行
nargin, nargout
分别表示输入和返回变量的实际个数,此为MATLAB保留变量,只要进入该函数, MATLAB就将自动生成这两个变量。
varargin, varargout
输入、输出变量列表(可变输入输出个数)。
factorial()求阶乘;prod更快,用于求数组内元素的乘积。
例: conv( ) 可以计算两个多项式的积
用 varargin 实现任意多个多项式的积
function a=convs(varargin)
a=1;
for i=1:length(varargin), a=conv(a,varargin{i}); end
>> P=[1 2 4 0 5]; Q=[1 2]; F=[1 2 3]; D=convs(P,Q,F)
D =
1 6 19 36 45 44 35 30
>> poly2sym(D)
ans =
x^7+6*x^6+19*x^5+36*x^4+45*x^3+44*x^2+35*x+30
>> a = [1 1]
a =
1 1
>> b = [1 1]
b =
1 1
>> conv(a,b)
ans =
1 2 1
>> E=conv(conv(P,Q),F)
% 若采用 conv() 函数,则需要嵌套调用
E =
1 6 19 36 45 44 35 30
>> poly2sym(E)
ans =
x^7+6*x^6+19*x^5+36*x^4+45*x^3+44*x^2+35*x+30
>> G=convs(P,Q,F,[1,1],[1,3],[1,1])
G =
1 11 56 176 376 578 678 648 527 315 90
subplot(2,2,i)
隐函数绘制f(x,y) = 0
>> ezplot(‘x^2 *sin(x+y^2) +y^2*exp(x+y)+5*cos(x^2+y)’) %x自选
>> ezplot('x^2 *sin(x+y^2) +y^2*exp(x+y)+5*cos(x^2+y)',[-10 10])
Matlab与科学计算的基本运算的更多相关文章
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- 科学计算 | Matlab 使用 GPU 并行计算
科学计算 | Matlab 使用 GPU 并行计算 本文转载自: https://sanwen8.cn/p/14bJc10.html Matlab下直接使用GPU并行计算(预告)< ...
- Anaconda 用于科学计算的 Python 发行版
用于科学计算的 Python 发行版: 1.Anaconda https://www.continuum.io/ 公司continuum. 有商业版本. Anaconda is the le ...
- 科学计算软件——Octave安装
Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品. 参考:[ML:Octave Installation] Gener ...
- windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等
安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...
- 使用python做科学计算
这里总结一个guide,主要针对刚开始做数据挖掘和数据分析的同学 说道统计分析工具你一定想到像excel,spss,sas,matlab以及R语言.R语言是这里面比较火的,它的强项是强大的绘图功能以及 ...
- Python科学计算——前期准备
1.开发环境搭建 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公 ...
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)
原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...
- [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
reference: http://www.52nlp.cn/python-%e7%bd%91%e9%a1%b5%e7%88%ac%e8%99%ab-%e6%96%87%e6%9c%ac%e5%a4% ...
随机推荐
- spring3+struts2+hibernate3整合出现的问题,No mapping found for dependency [type=java.lang.String, name='struts.objectFactory.spring.enableAopSupport']
七月 11, 2016 3:49:24 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule ...
- iOS在照片上添加水印
在做项目的时候我们需要将拍摄的照片做上标记防止图片被他人盗用,所以这就需要在照片的上面加上水印,以表示此照片的独一无二. 加水印不是要在上面添加上几个Label,而是我们要把字画到图片上成为一个整体. ...
- gulp基础使用总结
gulp 安装 1 检测电脑有没有安装node 执行 $ node -v $ npm -v 如果没有安装的话,可以到https://nodejs.org/en/download/下载安装. 2 全局安 ...
- AOJ 0558 Cheese
Cheese Time Limit : 8 sec, Memory Limit : 65536 KB チーズ (Cheese) 問題 今年も JOI 町のチーズ工場がチーズの生産を始め,ねずみが巣から ...
- java8个基本类型和它们所占的字节数
byte : 1字节 short : 2字节 int : 4字节 float :4字节 long : 8字节 double : 8字节 char :2字节 boolean : 1字节 补充说明:在实际 ...
- Linux man 用法小结(Linux指令学习笔记)
今天买了一本<<Linux命令行与shell脚本编程大全>>,想利用暑假放假的时间系统的学习一下 Linux的shell脚本.今天看了一下书,才发现我之前学习,把Linux s ...
- C++ const用法小结 (欢迎大家拍砖)
C++const 关键字小结 const 是constant的缩写,本意是不变的,不易改变的意思. const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数. 一.cons ...
- string和json转换的简单应用
import com.alibaba.fastjson.JSON; String strjson = request.getParameter("param"); //url-js ...
- [大牛翻译系列]Hadoop(8)MapReduce 性能调优:性能测量(Measuring)
6.1 测量MapReduce和环境的性能指标 性能调优的基础系统的性能指标和实验数据.依据这些指标和数据,才能找到系统的性能瓶颈.性能指标和实验数据要通过一系列的工具和过程才能得到. 这部分里,将介 ...
- mysql rand随机查询记录效率
一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了. 但是真正测试一下才发现这样效率非常低.一个15万余条的 ...