Matlab基础知识

2019-01-22  本文已影响2人  weifeng_genius

基本操作和技巧

  1. matlab 大小写敏感,变量和python一样不用提前申明。
  2. matlab变量的默认类型是double
  3. 输入whos可以显示当前已经有的变量以及其类型属性等信息。
  4. python保留字(key word)——ans i j Inf (无穷大)eps(无穷小) NaN (not a number) pi
  5. clear + var 删除workspacevar变量;如果只写clear会全删。
  6. format + xxx 可以转换输出的结果的类型。默认为short类型。类型参考下表:
  7. 按行来读语句,也可以和C一样在语句后面加;表示下一行。
  8. Relational(logical) operators:
    大部分与C一样,但~=代表不等于;==代表等于;&&代表and||代表or
    9.在每一个if,for,while后面都要加一个end,中间的内容就是条件成立执行的。
  9. 一些技巧:

矩阵array

1.基础
row vector—— a = [1 2 3 4] (空格)
column vector—— b = [1;2;3;4] (分号)
A = [1 2;3 4]表示2*2的矩阵
矩阵运算直接用 *即可。

  1. 索引:array indexing
    A(2,2) row-column 可以直接读取该位置的值
    A([1,2],[1,2])表示交集.
    A([1 3 5])得到1 3 5号的数字。(从上到下从左到右数)
    A([1 3;1 3])得到是两个重复的[1 3]构成两行。

  2. 矩阵修改:比如通过a(2,3)=xxx来替代~用等号即可

  3. colon(分号) operator —— 比如 A = [1:2:100]表示步长为2的等差数列,与pyhon稍微有一点不同的就是第二个参数和第三个参数的位置不一样~ 高级写法就是 A = [1:2:100; 2:2:100]这样就直接生成两行啦~

  4. A(3,:)就是代表第三行啦~
    a(3,:)=[]直接把最后一行删掉啦~

  5. F = [A B]可以让A B 矩阵形成增广矩阵(前提就是A B的秩是一样的)

  6. A.*B代表点c乘,每一项相互乘法(和加法类似) A*B就是矩阵的乘法啦~
    A+a矩阵加一个实数就是每一项都加一个实数
    A^2 表示A*A A.^2 表示每一项平方。

  7. A'表示逆矩阵。

  8. linspace() 和 numpy中生成是一样的 比如(1,100,100就是1~100 的100个点;eye就是单位矩阵;zeros零矩阵;ones就是全是1的矩阵;diag生成对角线矩阵 diag([1,2,3])就是生成对角线为1 2 3 的矩阵。
  9. max(A)得出的是挑选每一列最大的那个组成的行矩阵,后面的那些也是一样的。而若要得到整个矩阵中的最大(最小 平均 加和就调用两次即可。

Scripts and Function

tic
XXXXX
toc
function [a,F] = a_F(v2,v1,t2,t1,m)
%A_F 此处显示有关此函数的摘要
%   计算加速度和力
if nargin == 4   % 当检测输入变量只有两个时,设置默认变量
    m = 1;
end
a = (v2 - v1)./(t2-t1);
F = m.*a;
end
%[a f] = a_F(2,1,2,1,2)  来获取输出

>> [a F] = a_F(2,3,1,2)
a =     1
F =     1
>> [a F] = a_F(2,3,1,2,4)
a = 1
F =  4
>> 
f = @(x) exp(-2*x)   
%其实是一个指针,指向e^-2x这个函数。让f指向exp(-2x)的值~
x = 0:0.1:2;
plot(x,f(x));
>>> 绘制出一个e^-2x的图像。
上一篇下一篇

猜你喜欢

热点阅读