個人筆記篇
再不記錄就找不到了,之前學的一點基礎,看看就行,請不要提問,因為很久了>_<(至少我看來是這樣的)
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個字節
真沒圖了,桌面隨便截了張