个人笔记篇
再不记录就找不到了,之前学的一点基础,看看就行,请不要提问,因为很久了>_<(至少我看来是这样的)
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;
% 计时器
tic
toc
% 删除矩阵的某一行/列
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:9
a(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,最小值设置为0
A=[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的值赋值为1
A = [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 =
1
2
3
B =
8 6 4
A*B
C =
8 6 4
16 12 8
24 18 12
A.*B
C =
8 6 4
16 12 8
24 18 12
B.*A
C =
8 6 4
16 12 8
24 18 12
B*A
C =
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个字节
真没图了,桌面随便截了张

2万+

被折叠的 条评论
为什么被折叠?



