自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 321型正交位移测量系统的正解(已知位姿求位移传感器位移)

function H=ODMS_zhengjie(Q,L,T_B_E0,T_P_E)% Q为RPY角位姿表达式,6*1向量% L为六根直线表达式,6*6矩阵% T_B_E0及T_P_E为齐次坐标变换矩阵,4*4矩阵M0=L_for_M(T_B_E0,L);%求零位触点T_B_P=zhengjie_for_T(Q);%求齐次位姿T_B_E=T_B_P*T_P_E;%求被测基准块在定系中的位姿M1=L_for_M(T_B_E,L);%求非零位触点H=zhengjie_for_H(M0,M1);.

2020-07-05 07:54:24 202

原创 321型正交位移测量系统,已知新旧交点坐标,求位移传感器的位移

function H=zhengjie_for_H(M0,M1)% H为1*6向量,每个元素代表一个传感器的伸缩量,数值为正代表向正向移动,反之向负向移动% M0为原触点,6*3矩阵,每行代表一个触点坐标% M1为新触点,6*3矩阵,每行代表一个触点坐标for k=1:6H(1,k)=distancePoints3d(M0(k,:),M1(k,:));%调用distancePoints3d,求解M1和M0的距离endfor k=1:3 if M1(k,3)>M0(k,3);%比.

2020-07-05 07:49:42 188

原创 已知RPY角位姿表达式,求齐次坐标变换矩阵位姿表达式,也称RPY角正解

function T=zhengjie_for_T(Q)%T为4*4矩阵,Q为1*6向量RX=[1 0 0;0 cos(Q(4)) -sin(Q(4));0 sin(Q(4)) cos(Q(4))];RY=[cos(Q(5)) 0 sin(Q(5));0 1 0;-sin(Q(5)) 0 cos(Q(5))];RZ=[cos(Q(6)) -sin(Q(6)) 0;sin(Q(6)) cos(Q(6)) 0; 0 0 1];R=RZ*RY*RX;T=[R Q(1:3)'; 0 0 0 1]..

2020-07-05 07:47:27 799

原创 321型正交位移测量系统,已知某坐标系位姿及六根直线表达式,求直线与坐标系平面的交点

function M=L_for_M(T,L)I=[T(1,4) T(2,4) T(3,4) T(1,1) T(2,1) T(3,1) T(1,2) T(2,2) T(3,2)];%I面表达式II=[T(1,4) T(2,4) T(3,4) T(1,3) T(2,3) T(3,3) T(1,1) T(2,1) T(3,1)];%II面表达式III=[T(1,4) T(2,4) T(3,4) T(1,2) T(2,2) T(3,2) T(1,3) T(2,3) T(3,3)];%III面表达式for.

2020-07-05 07:41:52 155

原创 绘制特定大小的图片+利用for循环生成子图

close all;clear all set(gcf,'PaperPositionMode', 'manual')%纸张模式改为手动 set(gcf,'PaperUnits','inches')%设定纸张单位为英寸 set(gcf,'PaperPosition',[0 0 12 8])%设定纸张大小(16*8英寸)for i=1:6 subplot(2,3,i)%子...

2020-04-18 16:31:46 449

原创 for循环打印多个图窗

close all;clear allfor i=1:3 x=0:pi/10:2*pi; plot(x,x.^i); title(['y=x^',num2str(i)])%设置标题 F(i)=gcf%设置当前图窗 print(F(i),(num2str(i)),'-dpng','-r0')%打印图窗end...

2020-03-31 21:42:04 133

原创 使用特定尺寸打印图窗

bar([1 10 7 8 2 2 9 3 6])fig = gcf;%当前图窗fig.PaperUnits = 'inches';%设定图窗单位%set(fig,'PaperUnits','inches')%设定图窗单位fig.PaperPosition = [0 0 6 3];%设定图窗大小print('5by3DimensionsFigure','-dpng','-r0')%打印...

2020-03-31 20:34:08 229

原创 使用屏幕大小和分辨率打印图像

bar([1 10 7 8 2 2 9 3 6])fig = gcf;%当前图窗fig.PaperPositionMode = 'auto';%打印或保存与屏幕上的图窗具有相同大小的图窗;%set(fig,'PaperPositionMode','auto')%与上一条作用一致print('ScreenSizeFigure','-dpng','-r0')%生成与屏幕上大小(以像素为单位)...

2020-03-31 20:29:40 247

原创 利用print打印高品质图像

close allfigureset (gca,'position',[0.1,0.1,0.8,0.8] ); %[0.1,0.1,0.9,0.8] 分别为axes在figure中的左边界,下边界,宽度,高度,最小为0,最大为1 %(左边界,下边界为0,上边界,右边界为1)x=1:0.1:10; y=sin(x);plot(x,y)print(gcf,'-r600','examp...

2020-03-28 21:42:54 588

原创 matlab删除矩阵中的某些行

A=[1 2 3 4 5 6 7 8 9 10 11 12];A(5,:)=[];A(3,:)=[];%一定要从后往前删除,否则会出错计算结果:A = 1 2 3 4 7 8 11 12...

2020-03-19 20:57:24 4348

原创 matlab用imcrop进行图片裁剪,并用imwrite存图

I = imread('1.png');b = imcrop(I,[88,66,1024,768]);imshow(I);imshow(b);imwrite(b,'1-1.png')原图裁剪后

2020-02-26 12:45:36 1351

原创 重新认识元胞数组

a=[1 2 3 4 5 6 7 8 9 10 11 12]b=[0.1 0.2 0.3]c=cell(3,1)for i=1:4 for j=1:3 for m=1:3 c{m}(i,j)=a(i,j)+b(m) end endend计算结果如下:c = [4x3 doub...

2020-02-26 07:55:00 72

原创 利用遗传算法进行优化的一个例子

优化变量为自变量x(1)和x(2);约束为[-1,+1];目标函数为三个函数值的最大值最小!主函数:clear allfun = @max_f;%定义适度函数nvars=2;%定义变量个数A = [];b = [];Aeq = [];beq = [];lb = [-1 -1];ub = [+1 +1];%% Start with the default opt...

2020-02-04 10:59:33 1215

原创 基于正交表的观测矩阵条件数

A1=xlsread('正交试验2L6F')A2=2*rand(8,6)-1;A3=2*rand(8,6)-1;A4=2*rand(8,6)-1;A5=2*rand(8,6)-1;cond_A1=cond(A1)cond_A2=cond(A2)cond_A3=cond(A3)cond_A4=cond(A4)cond_A5=cond(A5)计算结果如下:A1 = ...

2020-02-04 10:29:08 375

原创 matlab裁剪图片空白边缘

clc,clear,close allx=-20:1:20;y=-20:1:20;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)colormap(jet)%颜色映射,蓝色开始,红色结束saveas(gca,'A','jpg')set(gca,'LooseInset',get(gca,'TightInset'))%裁剪空白区域saveas(...

2020-01-31 21:30:50 1804

原创 求矩阵各项绝对值的最大值

A=[-2 -3 -1 1.5];A(:)=abs(A(:));a=max(A(:))计算结果:a = 3而不是1.5

2020-01-31 13:36:38 2102

原创 在同一张图纸上绘制多个三维图,并用marker区分开

clc,clear,close allx=-20:4:20;y=-20:4:20;[x,y]=meshgrid(x,y);z1=x.^2+y.^2;surf(x,y,z1,'EdgeColor','k','Marker','^')colormap(pink)hold on z2=2*x.^2+y.^2+1;surf(x,y,z2,'EdgeColor','k','Marker'...

2020-01-30 19:15:59 843

原创 颜色映射命令

clc,clear,close allx=-20:1:20;y=-20:1:20;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)colormap(jet)%颜色映射,蓝色开始,红色结束绘图如下:

2020-01-30 18:53:47 276

原创 从matlab生成的fig图片中读取数据

首先编程,画一个fig图片,手动保存为untitled.fig,如图所示;close alla=0:0.1:4.3;b=a.^2;plot(a,b,'k-','LineWidth',2);grid onset(0,'defaultfigurecolor','w')saveas(fig,untitled)然后编程,读取图片中的x轴和y轴数据,close all;c...

2020-01-25 15:30:14 4628 2

原创 设定绘图区背景为白色

程序如下:close alla=0:1:43;b=[0 1 1 1 1 1 1 1 0 0 0];b=[b b b b];plot(a,b,'k-','LineWidth',2);grid onset(0,'defaultfigurecolor','w')%设定背景为白色

2020-01-25 13:40:21 328

原创 利用不共线三点求解并联机构动系在定系中的位姿的另一种解法

主程序如下:%利用不共线三点求解并联机构动系在定系中的位姿global XA YA ZA XB YB ZB XC YC ZC T_P_E T_M_B%定义全局变量A=100*(rand(15,9)*2-1);% 设定15组能够确定坐标原点的三个点,每一行代表一个组,每组各元素含义如下:% XA YA ZA XB YB ZB XC YC ZCT_P_E=[1 0 0 10; 0...

2020-01-20 22:20:48 319

原创 利用不共线三点求解并联机构动系在定系中的位姿

主程序如下:%利用不共线三点求解并联机构动系在定系中的位姿global XA YA ZA XB YB ZB XC YC ZC %定义全局变量A=100*(rand(15,9)*2-1);% 设定15组能够确定坐标原点的三个点,每一行代表一个组,每组各元素含义如下:% XA YA ZA XB YB ZB XC YC ZCT_P_E=[1 0 0 10; 0 1 0 10; ...

2020-01-19 22:02:08 279

原创 利用不共线三点确定被测基准块在测量系中的旋转矩阵

利用不共线三点确定被测基准块在测量系中的旋转矩阵的数学模型如图所示:主程序为:P=100*(rand(1,9)*2-1)R=xuanzhuanjuzhen(P)子程序为:function R=xuanzhuanjuzhen(P)%利用不共线三点确定被测基准块在测量系中的旋转矩阵,输入A为1*9向量,即[x1 y1 z1 x2 y2 z2 x3 y3 z3],输出R为3...

2020-01-18 22:04:10 430 1

原创 设定绘图区坐标轴及标题字体、字号的两种方法

方法一:在标签栏和标题栏命令中分别规定汉字字体字号close alla=0:1:43;b=[0 1 1 1 1 1 1 1 0 0 0];b=[b b b b];plot(a,b,'k-','LineWidth',2);grid onxlabel('时间(秒)','FontName','宋体','FontSize',20);%设定x坐标轴标签字体及大小,注意汉字必须用相应的字体(...

2020-01-17 21:33:12 5733

原创 定义包含非线性方程组的函数,然后循环利用fsolve函数求解非线性方程组,目的是利用三个已知点确定原点坐标

数学模型如前一篇所述,不再累述!主程序如下:global XA YA ZA XB YB ZB XC YC ZC %定义全局变量A=100*(rand(15,9)*2-1);% 设定15组能够确定坐标原点的三个点,每一行代表一个组,每组各元素含义如下:% XA YA ZA XB YB ZB XC YC ZCP=zeros(15,3);% 预设内存给被测基准块原点在测量系中的坐标fo...

2020-01-11 08:38:53 1742

原创 定义包含非线性方程组的匿名函数,然后循环利用fsolve函数求解非线性方程组,目的是利用三个已知点确定原点坐标

三点确定被测基准块原点在测量系中坐标是位姿测量与解算方法之一,其数学模型如下图所示:由勾股定理可知:AP^2+BP^2=AB^2 (1)BP^2+CP^2=BC^2 (2)由图可知,显然有:AP+CP=AC (2)A,B,C三点坐标已知,三式联立,可得被测基准块坐标原点P在测量系中的坐标。若进行了多次位姿测量,则待测坐标原点P不...

2020-01-10 22:40:23 729

原创 定义包含非线性方程组的匿名函数,然后用fsolve求解匿名函数中的非线性方程组

fun=@(x)([exp(-exp(-(x(1)+x(2)))) - x(2)*(1+x(1)^2),x(1)*cos(x(2)) + x(2)*sin(x(1)) - 0.5]);%定义匿名函数,包含二元非线性方程组x0=[0 0];%设定初值x=fsolve(fun,x0)%调用fsolve函数,求解方程组计算结果:x = 0.3532 0.6061该方式...

2020-01-10 08:08:50 1403

原创 创建简单的元胞数组

a=[1 2; 3 4; 4 2; 5 6 2 5];b=[4 5; 2 4; 1 9; 8 7];c={a,b};%用大括号创建元胞数组j=length(cell2mat(c(1)))%计算元胞数组中第一个矩阵的长度k=length(cell2mat(c(2)))%计算元胞数组中第二个矩阵的长度 c = [...

2019-12-29 20:46:18 770

原创 矩阵按照某一列数字的大小分类

a=[2 4 6 ; 7 9 3 ; 5 6 8; 3 5 9];for i =1:length(a) if a(i,1)<4 a1(i,:)=a(i,:);%第一列的数字小于4,所在行就归为a1 else a2(i,:)=a(i,:);%否则,所在行就归为a2 endenda1(all(a1==0,2)...

2019-12-29 17:21:24 305

原创 已知六个固定点P0(2+2+2),过固定点向量v1,动点到固定点距离L,被测基准块坐标系在并联机构动系中的位姿,并联机构定系在测量系中的位姿,求解动系在测量系中位姿Q的程序

主程序为:clc; clear all;close allwarning offglobal T_P_E T_M_B P1P0=[-11 -1 286;%定点S1 -42 -84 255;%定点S2 -80 -71 188;%定点S3 11 -103 186;%定点S4 -85 -22 244;%定点S5 -79 7 155];%定点S6 ...

2019-12-24 07:37:50 162

原创 已知六个固定点P0(3+2+1),过固定点向量v1,动点到固定点距离L,被测基准块坐标系在并联机构动系中的位姿,并联机构定系在测量系中的位姿,求解动系在测量系中位姿Q的程序

主程序为:clc; clear all;close allwarning offglobal T_P_E T_M_BP0=[-124 51 265;%定点S1 -39 24 295;%定点S2 -93 -56 260;%定点S3 -110 -68 224;%定点S4 -72 -55 136;%定点S5 -135 10 186];%定点S6...

2019-12-22 12:34:24 211

原创 利用fsolve函数求解六点确定三正交平面法向量的问题

该程序为利用fsolve求解六点确定三正交面法向量的程序,已知量为六点坐标,其中点1,点2,点3位于同一平面上,点4,点5位于另一平面上,点6位于第三平面上,三平面两两垂直,待求量为三个平面的法向量主程序为:fun=@liudiansanmianx0=[0,0,1,0,1,0,1,0,0];x=fsolve(fun,x0);vector1=[x(1) x(2) x(3)];%平面...

2019-12-21 10:20:45 198

原创 求解多条直线与被测基准面XOY的交点的坐标

求解多条直线与被测基准面XOY的交点的坐标clc;clear all;close allsyms x y z tP=[7 2 3; 12 12 3; 2 12 3];%定义固定点L=[1.05 1.06 1.07; 1.01 1.02 1.03; 1.04 1.05 1.06];%定义过固定点的直线向量,第一行对应第一固定点,以此类推A=[1 0 0 -...

2019-12-14 21:57:45 367

原创 利用for循环生成元胞数组(计算结果为一向量,向量的每一个分量为一矩阵)

该程序为计算正交位移测量系统中位移传感器触点坐标的程序。当被测基准块位姿发生改变时,位移传感器的示值发生改变,通过该程序,可以计算出不同位移传感器触点的新坐标。for循环的目的是循环计算15个不同位姿下的位移传感器的坐标。三点确定一个平面!有了新的坐标,可以进行平面的计算。主程序如下:clc; clear all;close allwarning offP0=[4 5 6;%S1...

2019-12-09 23:02:25 1157

原创 关于view函数

原文地址:MATLABview函数详解作者:roneiMATLAB提供了设置视点的函数view。其调用格式为:view(az,el)az是azimuth(方位角)的缩写,EL是elevation(仰角)的缩写。它们均以度为单位。系统缺省的视点定义为方位角-37.5°,仰角30°。当x轴平行观察者身体,y轴垂直于观察者身体时,az=0; 以此点为起点,绕着z轴顺时针运...

2019-12-06 21:54:07 2227

原创 已知多个固定点Pi,过多个固定点的多条直线Li,平面Ai,求直线Li与平面Ai的交点

clc;clear all;close allsyms x y z tP=[7 2 3; 12 12 3; 2 12 3];%定义固定点L=[1.05 1.06 1.07; 1.01 1.02 1.03; 1.04 1.05 1.06];%定义过固定点的直线向量,第一行对应第一固定点,以此类推A=[1 0 0 -10 0 1 0 -10 0 0...

2019-12-05 22:36:19 116

原创 matlab求两平面的交线的向量

%求两平面的交线的向量A=[1 2 3];%平面A的向量B=[4 5 -5];%平面B的向量C=cross(A,B);%两平面向量的叉乘,即为交线的向量D=[A(2)*B(3)-A(3)*B(2) A(3)*B(1)-A(1)*B(3) A(1)*B(2)-A(2)*B(1)]%向量叉乘计算公式计算结果:C = -25 17 -3D = -25...

2019-12-04 21:55:45 4834

原创 已知多条直线上不同的动点到直线上固定点的距离,求所有直线上所有动点的坐标

P0=[4 5 6 7 8 9 10 11 12];%定义固定点坐标 %xs1 ys1 zs1 xs2 ys2 zs2 xs3 ys3 zs3v1=[1 1 1];%定义直线向量L=-10*(rand(15,3)*2-1)%产生15*3的随机位移矩阵,定义不同动点到固定点P的距离,负号表示方向%行向量表示每次实验中三个位移传感器的位移,列向量表示每个位移传感器15次...

2019-12-03 21:58:13 247

原创 已知直线上不同的动点到直线上固定点的距离,求动点的坐标

P0=[4 5 6];%定义固定点v1=[1 2 3];%定义直线向量L=[-10 -9 -8.6 -7.4];%定义不同动点到固定点P的距离,负号表示方向P1=zeros(4,3)%预设内存给动点集for i=1:length(L)P1(i,1)=P0(1)+L(i)*v1(1)/norm(v1);P1(i,2)=P0(2)+L(i)*v1(2)/norm(v1);P1(i,3)=P...

2019-12-02 21:59:16 493

原创 基于最小二乘法的平面拟合程序

受下面两个博客启发,撰写了基于最小二乘法的平面拟合程序,在此感谢两位博主。https://blog.csdn.net/konglingshneg/article/details/82585868https://blog.csdn.net/shenziheng1/article/details/51175383%平面方程的一般表达式为:Ax+By+Cz+D=0%移项得到:z=(-A...

2019-12-01 22:12:49 4045 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除