MATLAB数据分析--软体手指膨胀和伸长情况分析

单腔软体手指变形分析

通过分析软体手指变形过程,如腔壁伸长和膨胀情况,更深层次的分析手指的变形机理,从而 为其优化提供理论依据。
对手指膨胀过程和上下壁伸长情况按照载荷施加程度进行三次线性拟合,分析其变形过程中膨胀和伸长变形的发生过程。

软体手指数据导出位置示意图
程序如下:

%%    以下程序为
%%   仿真O-1型结构施加载荷时的运动情况
%%   伸长以及径向膨胀情况
clc
close all 
clear all
%% *********参数输入***************
% P='L-V';      % % 试验编号,即可变参数符号
L=90;         % % 实际长度(单位:mm)
% F=4;           % % 结构数量
%% ***********主程序*************
col=['b','g','k','m','y','c','r','b','g','k','m','y','c','r'];
% col=['g','g','r','r','b','b','y','y'];
figure(1)
set(gcf,'Unit','normalized','Position',[0,0,0.6,1])
A1=xlsread(strcat('E:\桌面\结构分析\总体\数据分析\数据\','上.xlsx'));
A2=xlsread(strcat('E:\桌面\结构分析\总体\数据分析\数据\','下.xlsx'));
a1=A1(3:end,:);
a2=A2(3:end,:);
N=length(a1(1,:))/2;
warning('off');   % %关闭警示信息
h1=plot([0],[0],'.','color','b');hold on
h2=plot([0],[0],'.','color','g');hold on
axis([-L-5,0,-L,15])
AX=[];
BX=[];
AY=[];
BY=[];
R=[];
for i=1:N
    %% 
    B1=a1(:,2*i-1:2*i);
    B2=a2(:,2*i-1:2*i);
    xh1=linspace(0,L,length(B2(:,1)));
    xh2=linspace(0,L,length(B2(:,1)));
    
    X1=-xh1'+B1(:,1);
    Y1=B1(:,2)+8;
    AX=[AX,X1];
    AY=[AY,Y1];
    
    X2=-xh2'+B2(:,1);
    Y2=B2(:,2);
    BX=[BX,X2];
    BY=[BY,Y2];
    D(:,i)=((AX(:,i)-BX(:,i)).^2+(AY(:,i)-BY(:,i)).^2).^0.5;
%     D(i)=mean(((AX(:,i)-BX(:,i)).^2+(AY(:,i)-BY(:,i)).^2).^0.5);
    %% 向圆的方程回归拟合
    XX1=X1(10:end-10);
    YY1=Y1(10:end-10);
    A1=[XX1,YY1];
    XX2=X2(10:end-10);
    YY2=Y2(10:end-10);
    A2=[XX2,YY2];
    n=length(XX1);
    y=zeros(n,1);
    b=[rand(1)*1000 rand(1) rand(1)];
    fun1=inline('A1(:,1).^2+A1(:,2).^2+a(1).*A1(:,1)+a(2).*A1(:,2)+a(3)','a','A1');
    [a11,~,~]=nlinfit(A1,y,fun1,b);%%多元线性回归
    vpa(a11,10);
    X11=-a11(1)/2;
    Y11=-a11(2)/2;%%上圆心位置
    R1=sqrt(a11(1)^2+a11(2)^2-4*a11(3))/2;%%上半径大小
%     plot(X11,Y11,'.','color','R');hold on
    fun2=inline('A2(:,1).^2+A2(:,2).^2+a(1).*A2(:,1)+a(2).*A2(:,2)+a(3)','a','A2');
    [a12,~,~]=nlinfit(A2,y,fun2,b);%%多元线性回归
    vpa(a12,10);
    X12=-a12(1)/2;
    Y12=-a12(2)/2;%%下圆心位置
    R2=sqrt(a12(1)^2+a12(2)^2-4*a12(3))/2;%%下半径大小
%     plot(X12,Y12,'.','color','R');hold on
    R=[R;R1,R2];
    RR(i,1)=sqrt((-X11)^2+(8-Y11)^2);
    RR(i,2)=sqrt((-X12)^2+(-Y12)^2);
    DR=R1-R2;
end
RR(1,:)=[0  0];
R(1,:)=[0  0];
s=[0.000625,0.00015625,0.00015625,3.90625e-05,3.90625e-05,5.85937e-05,8.78906e-05,3.2959e-05,4.94385e-05,1.85394e-05,2.78091e-05,1.04284e-05,1.56426e-05,1e-5];
n=ceil(3*s/min(s));
for j=2:N
    for ij=1:n(j-1)
        %% 按加载速度分配变形过程(线性插值)
        x1=AX(:,j-1)+ij*(AX(:,j)-AX(:,j-1))/n(j-1);
        y1=AY(:,j-1)+ij*(AY(:,j)-AY(:,j-1))/n(j-1);
        x2=BX(:,j-1)+ij*(BX(:,j)-BX(:,j-1))/n(j-1);
        y2=BY(:,j-1)+ij*(BY(:,j)-BY(:,j-1))/n(j-1);
%         D1(:,j)=((x1-x2).^2+(y1-y2).^2).^0.5;
        set(h1,'Xdata',x1,'Ydata',y1);
        set(h2,'Xdata',x2,'Ydata',y2);
        pause(0.01)
    end
end
%% 变形情况数据处理与显示
figure(2)
subplot(2,1,1)%%膨胀情况
BR=R-RR;%%上下壁膨胀量
% d=mean(D,1)-mean(D(:,1));
d=(BR(:,1)-BR(:,2))';%%腔体膨胀总量
nn=0:0.01:1;
s=[0,s];
for iijj=1:length(s)
    n1(iijj)=sum(s(1:iijj))/sum(s);
end
plot(n1,d,'.','color','r');hold on
k=polyfit(n1,d,3);
plot(nn,polyval(k,nn),'B-');hold on
title('总体膨胀趋势')
xlabel('压强施加率')
ylabel('径向膨胀长度/mm')

subplot(2,1,2)%%伸长情况
La1=((AX(2:end,:)-AX(1:end-1,:)).^2+(AY(2:end,:)-AY(1:end-1,:)).^2).^0.5;
La=sum(La1);
La=La-La(1);
Lb1=((BX(2:end,:)-BX(1:end-1,:)).^2+(BY(2:end,:)-BY(1:end-1,:)).^2).^0.5;
Lb=sum(Lb1);
Lb=Lb-Lb(1);
plot(n1,La,'color','g');hold on
plot(n1,Lb,'color','b');hold on
% ka=polyfit(n1,La,5);
% kb=polyfit(n1,Lb,3);
% plot(nn,polyval(ka,nn),'B-');hold on
% plot(nn,polyval(kb,nn),'B-');hold on
axis([ 0,1,-5, 25])
set(gcf,'Unit','normalized','Position',[0.2,0,0.6,0.8])
title('总体伸长趋势')
xlabel('压强施加率')
ylabel('伸长长度/mm')
legend('最外侧边线伸长长度','最内侧边线伸长长度','Location','best')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值