Matlab
程序员文章站
2024-01-29 10:33:46
...
Since Apr.6th,2016
linspace:产生一系列整数。
linspace(a, b, c)
产生的数 x 范围为 a≤x≤b ,总数为 c 。
注意和a:b:c
的区别,a:b:c
中 c 是步长。步长 c 和 总数 c 的乘积为 b-a。-
prod:求乘积。对矩阵使用时是以行为单位进行的。
>> prod(1:10)ans = 3628800 >> prod([1 2 3;4 5 6]) ans = 4 10 18
asin(x):反正弦函数。
-
real(z):复数z的实部
imag(z):复数z的虚部
-
矩阵表示:空格和逗号
,
等效,在列与列(或者理解为行元素之间)使用,分号;
在表示行与行之间使用。
>> [1,2,3;4,5,6;7,8,9]ans = 1 2 3 4 5 6 7 8 9
str2num,num2str:将字符串转化为数字,将数字转化为字符串。
char:ascii 码表的实现,输入 ascii 码值,输出对应的字符。
vpa:表示任意位有效数字,输出为 sym 类型(一般 double 类型有效数字只能保留15或16位)
通过和 char 函数的组合,可以将一个很大的多位数转化成字符串。
kobe = char(vpa(2^1000,302)) % 输出2^1000的全部302位
输出为
kobe =
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376.0
- 注意不可以用 num2str(vpa(2^1000,302)),因为 num2str 要求输入变量为 double 类型,而 不是 vpa 输出的 sym 类型。
- 注意 ascii 码转化时若没有对应的字符(比如 . 等),会返回一个空集,在后续运算进行加减时要特别注意。
- 另外尽可能把 sym 类型的符号变量作为 vpa 的输入变量类型,即在没有定义的情况下要把表达式用单引号
'
包起来(符号变量没有申明则需要加上单引号),不然在内部表达式计算的时候还是作为浮点数来计算的,会损失精度。 -
x = A\B,x = A/B:
X=A\B
表示 X = inv(A) * B , 为 A*X=B 的解。X=A/B
表示 X = A * inv(B) , 为 X*B=A 的解。
A = [3,5,-1;1,2,4;2,-6,7];
b = [2;0;8];
x = A\b
以上代码即为求解线性方程组
3x+5y-z=2;x+2y+4=0;2x-6y+7z=8
运算结果为
x =
1.9535
-0.7907
-0.0930
- ['test'...'test'...'test']:换行输入字符串的格式
s = ['37107287533902102798797998220837590246510135740250'...
'46376937677490009712648124896970078050417018260538'...
'74324986199524741059474233309513058123726617309629']
输出为
s =
371072875339021027987979982208375902465101357402504637693767749000971264812489697007805041701826053874324986199524741059474233309513058123726617309629
如果只是一般的语句换行,在行末加...
就可以了。
- factor,factorial:factor 用来分解质因数,factoria 用来计算阶乘。
上一篇: 第二周总结
下一篇: 2020-12-15