个人笔记篇
再不记录就找不到了,之前学的一点基础,看看就行,请不要提问,因为很久了>_<(至少我看来是这样的)
matlab小笔记
% 开绘制(新建)
figure
% 设置绘制标题
title('标题');
% 设置绘制的X轴Lable
xlabel('x');
% 设置绘制的y轴Lable
ylabel('cos(x)');
% 显示网格线
grid on;% 划定X区间 _ 线性
x = linesapce(st,...,end) %步长默认0.01
x = 0:0.01:2*pi% 绘图
plot(x,y)% 红圈标记y值
plot(y,'-or')% -------------------函数----------------------
A = magic - 幻方矩阵 (这玩意儿好像是数独*_*)
trace(A) - 计算某行/某列 --验证
sum(A, 1) - 矩阵列求和 = sum(A) => 行
sum(A, 2) - 矩阵行求和 => 列
sum(A, 3/>3) - 本身function [mean_value, std_deviation] = calculate_mean_and_std(input_vector)
% 计算输入向量的均值和标准差
% 输入参数:
% input_vector: 输入的向量
% 输出参数:
% mean_value: 均值
% std_deviation: 标准差mean_value = mean(input_vector);
std_deviation = std(input_vector);end# 求角度的三角函数
cosd(45) %相当于 cos(45°) d是角度的英文# 旋转矩阵
% 默认是2x2
x =[1;0]
R = [cosd(45), -sind(45);sind(45),cosd(45)]
Y = R*x %公式% 矩阵的逆
Ainv = inv(A)
X =[x;y]
Evector =[4;1]
X =A\Evector;% 计时器
tictoc% 删除矩阵的某一行/列
A =[rand(5)] %5x5
A(3,:) = [] %第三行的所有元素删除 = 删除第三行
A(:,end) = [] %所有行的最后一列删除% 矩阵合并
A2 = eye(2);%单位矩阵
A3 = eye(3);
B5 = zeros(5); %5x5全0矩阵
B5([1,2],[1,2]) =A2;% 把1,2行列交叉部分设置成A2矩阵 ,井字
B5([3,4,5],[3,4,5]) =A3;% ============== 循环 ===================
% 写对角线矩阵(伪单位矩阵)
a = ones(9).*cos(pi);% 9x9全1矩阵,点乘cos(π)
% 方法1
a(1,1) = cos(pi);
a(1,1) = cos(pi./8)% cos(π/8);
%......% 方法2,开循环
for i =0:9a(i,i) = cos((9-i).*pi./8);end% 求表达式的值,当x =0,2,4,6....x = [0,2,4,6....];y = 4x^7.....;disp(y)% ============== find(条件) ===================% ============== max/min ===================% 找到4x4矩阵最大值设置为1,最小值设置为0A=[rand(4)];% max(A) %矩阵【每一列】的最大值,变成了一行[]% 再把他取一次最大值,就得到了最大值% 找到他的位置 find(A == max(max(A)))% 寻址方式是按照依次的index寻址的% 赋值x_index = find(max(max(A))); %最大值索引A(x_index) = 1; %赋值为最大值% 最小值同理.........% 寻找列中最大值和最小值,赋值1,0% 寻找多个值amax = max(A);max_indexs = find(a == amax) %找地址a(max_indexs) = 1% 多处赋值% 矩阵中所有>=0.5的值赋值为1A = [rand(5)];ids = find(a>=0.5)a(ids) = 1% ============== 四舍五入 ===========% ============= 向下取整round ===========format short %设置数据类型round(pi) %默认四舍五入保留整数round(pi,2) %保留两位小数round(pi,6) % 3.1416,与数据类型有关format long %设置数据类型round(pi,6) % 3.1415930.......%================= 注释 ===========% 一个%注释% 两个% 分段 Ctrl + Shift +Enter (类似断点位置执行标志)%=============== 绘图plot ===========%% 绘制cos(x) clear;close all;clc; % 打扫环境,重置画板%% 绘制主程序x = 0:0.001:2*pi; % 设置 0 -2π,步长设置0.001(单位长度)y = cos(x);%%绘图plot(x,y)%=============== 幻方矩阵magic ===========%===============sum(A,flag) ===========% 行之和 = 列之和 => 就是个高级数独a = magic(5)sum(a)% 列相加 = sum(a,1)sum(a,2) % 行加结果%获取主对角线的值 diag(a) sum(diag(a))% 获取副对角线的值b = fliplr(a) % 翻转矩阵(镜像) ==> 相当于可以获取此时对角线的值 = 副对角线的值sum(b)%============== 子函数 ===========%============= 创建+保存 ===========% 把函数写进文件(引用) -- 保存时,% 【文件名 = 函数名字!!!】% retsult -- 返回值function retsult = 函数(x)% 这里写注释y1 = x.^2; %各个元素平方y2 = sum(y1);% retsult = sum(x.^2)end% ========== 自定义自动函数文档 ===========function retsult = 函数(x)% 这里写注释,当其他人使用 > help 函数% 就会打印这里的所有注释!!!!end% ========== 判断质数 isprime ===========% ========= 矩阵 =====================% 行矩阵(2种表示方法)1. linspace(st,end,n)% st - end, 等分为n个数2. 1:1:3 % (冒号表示法:colon)st:step:end% 列矩阵(在行的基础上加个')如A = linspace(1,3,3) %[1,2,3]B = A' %[1;2;3]@ 例子 (都是单列 : 1 2 3)A = [1;2;3]A =(1:1:3)'A =(1:3)'A = linspace(1,3,3)% 矩阵乘法A*B = A.*B = B.*A = (矩阵)B*A = 数字A =123B =8 6 4A*B
C =8 6 416 12 824 18 12A.*B
C =8 6 416 12 824 18 12B.*AC =8 6 416 12 824 18 12B*AC =32
AndroidNDK的clang基础使用
clang 命令使用
编译
clang -target
arm ARM 架构
armv7a
aarch64编译选项
clang -target arm-linux-android21 main.cpp -o demo.so
clang -target armv7a-linux-android21 main.cpp -o demo.so
clang -target aarch64-linux-android21 main.cpp -o demo.so预处理
-E 预处理
-S 汇编
-c 编译ELF机器码
正常编译
clang -target aarch64-linux-android21 -E main.cpp -o demo.i
clang -target aarch64-linux-android21 -S main.cpp -o demo.s
clang -target aarch64-linux-android21 -C main.cpp -o demo.o
clang -target aarch64-linux-android21 main.cpp -o demo.o================================ .S文件分析 ===============================.p2align 2 # p2align 2表示对齐大小 = 2x4 = 8个字节
真没图了,桌面随便截了张