- vec1 = [1,2,3]; %产生一个行向量
- vec2 = [1,2,3]'; %产生一个列向量
- vec3 = [1:0.5:3] %产生一个第一个元素为1
- %最后一个元素不超过3
- %步长为0.5的等距行向量
-
- mat1 = [1,2,3;3,4,5] % 2x3
- mat2 = zeros(3,4) % 3x4 O
- mat3 = ones(3,4) % 3x4 1
- mat4 = eye(4); % 4阶单位矩阵
-
- m12 = mat1(2,3) % 矩阵第二行第三列的元素
-
-
- x = [1,2,3];
- x = x.^2; %[1,4,9]
- y = [2,3,4];
- y = x.*y; %[2,12,36]
- x = [0:0.1:2*pi];
- y = sin(x). *cos(x.^2);
- plot(x,y,"r-")
- x = randperm(4); %产生1-4的随机排列
- y = randperm(4);
-
- c0 = (x>y); %一种可能的结果(1,1,0,0)
- c1 = ~(x>y); %取反
- c2 = (x>2) & (x<4); %与运算
- c3 = (x>2) | (x<4); %或运算
-
- a = 1;
- b = sqrt(2);
- a==1 && b==1;
- a==1 || b==1;
- x = 1+2i'
- z = complex(2,3);
- real(z); %2
- imag(z); %3
- angle(z); %辐角运算
- result = 78;
- switch(result)
- case 52
- disp("result is 52.")
- case {52,78}
- disp("result is 52 or 78")
- otherwise
- disp("no result!")
- end
- A = [1,2,3;4,5,6];
- B = A/2;
-
- C = A+B;
- D = A*B';
- E = diag(A); %取对角元素,生成列向量
- r1 = A(1,:) %第一行
- c2 = A(:,2) %第二列
- A(1,[1,3]) %第一行 第一列 第三列
- A([1,2],[1,3]) %[1,1],[1,3],[2,1],[2,3]
- d = r1(2:end) %取2-最后一个元素
- A = rand(10000);
- tic;
- B=A(find(A>0.3 & A<0.7));
- toc;
- tic;
- C = A((A>0.3&A<0.7));
- toc;
- n = 3000;
- tic;
- for k = 1:n
- a(k)=1;
- end
- b = zeros(1,n,"double")
- toc;
- tic;
- for k=1:n
- b(k) = 1;
- end
- toc;
-
-
-
- 历时 0.012460 秒。
- 历时 0.000736 秒。
- %表示pi
- PI = 4*atan(1)
- clc;
- D = [1,2,3;2,3,4;3,4,5];
- Dd(:,:,1)=D;
- Dd(:,:,2)=2*D;
- Dd(:,:,3)=3*D;
- sum(Dd,3)
-
- ans =
-
- 6 12 18
- 12 18 24
- 18 24 30
- A = [[0,0,0],
- [1,0,2],
- [1,0,2],
- [1,0,2]];
- A(:,~sum(abs(A),1))=[];
- A(~sum(abs(A),2),:)=[];
- disp(A)
-
- 1 2
- 1 2
- 1 2
- function [rtn1,rtn2] = functionName(x,y)
- rtn1 = x+y;
- rtn2 = x*y;
- end
-
-
- %保存在同一目录下,
- %调用
-
- x = 1;
- y = 3;
- [rtn1,rtn2] = functionName(x,y);
- %匿名函数语法
-
- fhandle = @(arglist1)@(arglist2) expr
-
- f = @(x) x.^2;
- g = @(a,b)@(x) a*x+b;
- x = linspace(0,1,10);
- plot(x,f(x));
- g1 = g(1,2)
- plot(x,g1(x))
- f = @(a) @(x) exp(x)+x^a+x^(sqrt(x))-100;
- g = @(a) fzero(f(a),4);
- aa = 0:0.01:2;
- ff = arrayfun(g,aa);
- plot(aa,ff,"r.-")
- syms x
- f = (x+tan(x))^(sin(x));
- c = diff(f,3);
- funstr = ['@(x)' vectorize(c)];
- f3 = eval(funstr);
- x = linspace(0,1,100);
- plot(x,f3(x),'linewidth',2);