Professional Documents
Culture Documents
Matlab Code
Matlab Code
space 和,一样的作用
;分行
dot(a,b) 矩阵的点乘 内积
cross(a,b)叉乘,向量积 法向量
构建多项式函数
a=[1 2 3 4]
poly2sym(a)
多项式乘法
a=[1 2 3 4]; b=[1]
conv(a,b)
poly2sym(conv(a,b))
矩阵的扩充
矩阵的建立
magic(4) 4*4 的随机矩阵
矩阵的删除
A(2, :)=[] 删除第二行
B(:, 3)=[] 删除矩阵的第三列
矩阵改值
D(2,2)=4 第二行第二列值改为 4
D(2,:) = 0 /[1 2 3] 第二行都改为 0/改为需要的值
矩阵的变维
将 一个矩阵 c 12 个数 2*6 改为 3*4
B = zeros(3,4)
B(:)=c(:)
矩阵的旋转
rot90(a) 旋转 90 度
画图
窗口分割
Subplot(2,2,3)建立一个 2*2 的创口,在第三个图像的位置
绘制多条图形
plot(x,y,x1,y1)
线性插入值代码
1.提取出需要的数据 并放在一起
clc
clear all
close all
load WardenCPTs1.mat %读取数据
key = 'CPT001';%属性名称(数据名称)
%提取出 xyz 把 z 单独放
x = CPTdata.(key).Eastings;
y = CPTdata.(key).Depth;
z1 = CPTdata.(key).SCPT_RES;
z2 = CPTdata.(key).SCPT_FRES;
z3 = CPTdata.(key).SCPT_PWP2;
zori = [z1 z2 z3]; %原值 z 值
2. 确定要线性分段的最大和最小值
miny = 0;
maxy = 5;
3.生成以 0.01 位间距的矩阵
standys = miny:0.01:maxy
yynum = length(standys); %计算需要多少行
zz = zeros(yynum,3) %yynum 行 3 列的值
4.取出有 3 个 z 的 zori 矩阵的某一列
for i=1:3
z = zori(:,i);%这个数据的原始 z 值 取出第 i 列
for k=1:length(z) %z 里可能有 Nan 值,补上
if isnan(z(k))
z(k) = z(k-1);
end
end
standy = standys(k);%在标准 y 序列中第 k 点的 y 值
%standy 和 y 的每个值比较,确定前后值,线性插值
for p=1:length(y)-1
if y(p) == standy %如果 y 值正好等于 standy
zz(k,i) = z(p);
break;
end