项目场景:
本文对Matlab的常见函数语法进行总结,后续会不断更新!!
A.变量替换:
Syntax | Description |
---|---|
subs(s,old,new) | 使用new代替old,old代指s中所需替换的元素,见代码示例1 |
subs(s,new) | 不指定old变量,默认替换的变量是通过symvar确定,见代码示例2 |
f=subs(s) | 返回一个s的拷贝,可以将自己指定的变量放到f中,相当于往函数里面带入数值,见代码示例3 |
方程等式的变量替换 | 见代码示例4 |
函数的变量替换 | 见代码示例5 |
– | – |
代码如下(示例1):
%替换a为7
>> syms a b
>> subs(a+b,a,7)
ans =
b + 7
%替换a*b为6
>> subs(a*b^4,a*b,6)
ans =
6*b^3
代码如下(示例2):
%symvar函数查看默认替换变量
>> symvar(a+b+c+d,1)
ans =
d
%默认替换d为1
>> subs(a+b+c+d,1)
ans =
a + b + c + 1
代码如下(示例3):
>> syms x y
>> y=x^0.5
y =
x^(1/2)
>> x=4
x =
4
>> subs(y)
ans =
2
代码如下(示例4):
>> clear
>> syms x y
>> eqn1 = sin(x)+y == x^2 + y^2;
>> eqn2 = y*x == cos(x);
%将eqn2的y设置为独立变量,得到用y表示x的eqn2形式
>> eqn2 = isolate(eqn2,y)
eqn2 =
y == cos(x)/x
%lhs(eqn2),rhs(eqn2)分别代表eqn2的左侧变量,右侧变量
>> eqn1 = subs(eqn1,lhs(eqn2),rhs(eqn2))
eqn1 =
sin(x) + cos(x)/x == cos(x)^2/x^2 + x^2
代码如下(示例5):
>> clear
>> syms f(x,y) x y a
>> f(x,y)=x+y
f(x, y) =
x + y
>> subs(f,x,a)
ans(x, y) =
y + a
%f的变量形式不改变
>> formula(f)
ans =
x + y
B.重置矩阵维度:
Syntax | Description |
---|---|
B = permute(A,dimorder) | 依据dimorder向量的序号,将A进行维度变换到B |
>> rand(4,3,2)
ans(:,:,1) =
0.8147 0.6324 0.9575
0.9058 0.0975 0.9649
0.1270 0.2785 0.1576
0.9134 0.5469 0.9706
ans(:,:,2) =
0.9572 0.4218 0.6557
0.4854 0.9157 0.0357
0.8003 0.7922 0.8491
0.1419 0.9595 0.9340
>> B=permute(A,[3,2,1])
>> size(B)
ans =
2 3 4
%可以看到由4,3,2--->2,3,4进行了维度的变换,但是内容不发生变化
>> A=[1,2;3,4]
A =
1 2
3 4
>> permute(A,[2,1])
ans =
1 3
2 4
%选取[2,1]可以进行矩阵的转置