Matlab与科学计算的基本运算

简介: 各种允许的比较关系 >, >=, 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 ...


各种允许的比较关系
>, >=, <, <=, ==,~=, 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])

目录
相关文章
|
6月前
|
算法 计算机视觉 异构计算
基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序
基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序
|
1月前
|
Serverless
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
51 1
|
6月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
56 1
matlab--------矩阵的运算
|
数据可视化 索引
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理(二)
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理
107 0
|
6月前
|
数据可视化
第七章:MATLAB基本运算符号解析及案例详解
第七章:MATLAB基本运算符号解析及案例详解
105 1
|
6月前
|
程序员 Shell C++
和MATLAB相比,用Python做科学计算有哪些优缺点呢?
和MATLAB相比,用Python做科学计算有哪些优缺点呢?
专题一MATLAB基础知识——1.6MATLAB基本运算
专题一MATLAB基础知识——1.6MATLAB基本运算
74 0
|
数据采集 数据可视化 算法
【文末送书】Matlab科学计算
【文末送书】Matlab科学计算
68 0
|
算法 文件存储
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理(三)
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理
169 0