各种允许的比较关系
>, >=, <, <=, ==,~=, 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与科学计算的基本运算的更多相关文章

  1. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  2. 科学计算 | Matlab 使用 GPU 并行计算

    科学计算 | Matlab 使用 GPU 并行计算 本文转载自:  https://sanwen8.cn/p/14bJc10.html       Matlab下直接使用GPU并行计算(预告)< ...

  3. Anaconda 用于科学计算的 Python 发行版

    用于科学计算的 Python 发行版: 1.Anaconda  https://www.continuum.io/    公司continuum.  有商业版本. Anaconda is the le ...

  4. 科学计算软件——Octave安装

    Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品. 参考:[ML:Octave Installation] Gener ...

  5. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  6. 使用python做科学计算

    这里总结一个guide,主要针对刚开始做数据挖掘和数据分析的同学 说道统计分析工具你一定想到像excel,spss,sas,matlab以及R语言.R语言是这里面比较火的,它的强项是强大的绘图功能以及 ...

  7. Python科学计算——前期准备

    1.开发环境搭建 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公 ...

  8. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

  9. [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% ...

随机推荐

  1. Jmail发送邮件与带附件乱码解决办法

    Jamil发送邮件的具体用法: 首先,我们要从网上下载Jamil.dll的组件,这个网上很多,然后添加引用using jmail,然后再本机或者服务器上注册一下 将jmail.dll拷贝到服务器的sy ...

  2. 【学习笔记】【C语言】数据

    1. 什么是数据 生活中时时刻刻都在跟数据打交道,比如体重数据.血压数据.股价数据等.在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据.图片数据.视频数据,还有聊QQ时产生的文字数据.用迅 ...

  3. 让人心动的jQuery插件和HTML5动画

    1.jQuery/CSS3带表单的下拉菜单 今天要分享一款基于jQuery和CSS3的下拉菜单,这款jQuery下拉菜单非常特别,我们直接可以在下拉菜单中填写联系表单.登录表单.而且整个下拉菜单的外观 ...

  4. AD查询1000条限制和解决方案

      公司的一个项目要从AD上取数据,为了测试性能,批量在AD上创建了2000多个用户.但是用java程序获取所有用户的时候会报错或者只能取到1000条数据.   条数据. 用org.springfra ...

  5. Android实现Http协议案例

    在Android开发中,使用Http协议实现网络之间的通信是随处可见的,使用http方式主要采用2中请求方式即get和post两种方式. 一.使用get方式: HttpGet httpGet = ne ...

  6. java.lang.ThreadLocal源码分析

    ThreadLocal类提供线程本地变量,为变量在每个线程创建一个副本,每个线程可以访问自己内部的副本变量. 比如,有这样一个需求,需要为每个线程创建一个独一无二的标识,这个标识在第一次调用Threa ...

  7. C# 枚举操作扩展类

    using System; using System.Linq; using System.ComponentModel; namespace Demo.Common { /// <summar ...

  8. zedboard 构建嵌入式linux

    本文通过五部完成zedboard的嵌入式LINUX搭建,所谓磨刀不五砍材工嘛 1:系统环境搭建 要准备好交叉编译环境 见http://blog.csdn.net/xiabodan/article/de ...

  9. ADO.NET笔记——存储二进制大对象(BLOB)

    相关知识 上传二进制大对象(Binary Large Object)(如图片.视频等)的基本编程步骤是: 在数据库中使用varbinary(MAX).varchar(MAX)或者nvarchar(MA ...

  10. vs2012用wpf制作透明窗口中报错的解决方案

    在开发wpf项目时,需要调用外部com组件,同时需要制作透明窗口,于是问题出现了,当我们在设置 AllowsTransparency="True"后,com组件显示不出来了,只有透 ...