You are on page 1of 3

Matlab

 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

You might also like