【机械仿真】基于matlab水下机器人机械手系统仿真【含Matlab源码 1264期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【机械仿真】基于matlab水下机器人机械手系统仿真【含Matlab源码 1264期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、简介
理论知识参照:基于重心调节的水下机器人—机械手系统姿态控制技术研究
三、部分源代码
classdef UvmsDynamicspropertiesuvms_kinematics;tau_c;endproperties(Constant) %% Robot System Parameters% mass of linkm0 = 60; m1 = 4.2;m2 = 1;m3 = 1;% inertia matrix of linkI_0_0 = diag([3.368 3.553 6.244]);I_1_1 = diag([19.11*1e-3 15.56*1e-3 7.54*1e-3]);I_2_2 = diag([13.97*1e-3 24.66*1e-3 12.19*1e-3]);I_3_3 = diag([13.97*1e-3 24.66*1e-3 12.19*1e-3]);%% Gravitational Accelerationg_I = [0; 0; -9.81]; %% Hydrodynamic Effects% fluid densityrho = 1000;% drag coefficientsCd0 = 0.47; % sphereCd1 = 1.1; % cylinderCd2 = 1.1; % cylinderCd3 = 1.1; % cylinderendmethodsfunction obj = UvmsDynamics(uvms_kinematics)if nargin == 1obj.uvms_kinematics = uvms_kinematics;obj.tau_c = zeros(9,1);elseerror('Not enough parameters');endend%% Direct Dynamicsfunction obj = DirectDynamics(obj, vf_I, af_I) [M, C, Fe] = obj.GetModelParameters(vf_I, af_I);obj.uvms_kinematics.dzeta = M\(obj.tau_c - C - Fe);end%% Model Parametersfunction [M, C, Fe] = GetModelParameters(obj, vf_I, af_I)% generalized velocityv = obj.uvms_kinematics.v;omega = obj.uvms_kinematics.omega;dq1 = obj.uvms_kinematics.dq(1);dq2 = obj.uvms_kinematics.dq(2);dq3 = obj.uvms_kinematics.dq(3);zeta = obj.uvms_kinematics.zeta;% rotation matrixR_0_I = obj.uvms_kinematics.get_R_0_I();R_1_0 = obj.uvms_kinematics.get_R_1_0();R_2_1 = obj.uvms_kinematics.get_R_2_1();R_2_0 = obj.uvms_kinematics.get_R_2_0();R_3_0 = obj.uvms_kinematics.get_R_3_0();% coordinate origin[po_1_0, po_2_1, po_3_2] = obj.uvms_kinematics.GetCoordinateOrigin();% position vector of center of mass [pc_0_0, pc_1_1, pc_2_2, pc_3_3] = obj.uvms_kinematics.GetCenterOfMass();% distance vector between C.M.[dc_1_0, dc_2_0, dc_3_0] = obj.uvms_kinematics.GetDistanceBetweenCM();% radius of vehicler0 = (obj.uvms_kinematics.Lx*obj.uvms_kinematics.Ly*obj.uvms_kinematics.Lz/8)^(1/3);% volume of link[V0, V1, V2, V3] = obj.GetVolume();% inertia matrix of link [I_1_0, I_2_0, I_3_0] = obj.GetInertiaMatrix();% added mass matrix[Ia_0_0, Ia_1_0, Ia_2_0, Ia_3_0] = obj.GetAddedMassMatrix();% gravitational accelerationg_0 = R_0_I'*obj.g_I;% fluid velocity & accelerationvf_0 = R_0_I'*vf_I;af_0 = R_0_I'*af_I;%% Coefficients of Derivative of Position Vector % dpA_dq1_1 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*pc_1_1;A_dq1_2 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*(R_2_1*pc_2_2 + po_2_1);A_dq2_2 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*pc_2_2;A_dq1_3 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*(R_2_1*(pc_3_3 + po_3_2) + po_2_1);A_dq2_3 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*(pc_3_3 + po_3_2);A_dq3_3 = R_1_0*R_2_1*obj.uvms_kinematics.z_2_2;% ddpB_ddq1_1 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*pc_1_1;B_dq1sqr_1 = obj.S(obj.uvms_kinematics.z_1_0)^2*R_1_0*pc_1_1;B_ddq1_2 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*(R_2_1*pc_2_2 + po_2_1);B_ddq2_2 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*pc_2_2;B_dq1sqr_2 = obj.S(obj.uvms_kinematics.z_1_0)^2*R_1_0*(R_2_1*pc_2_2 + po_2_1);B_dq2sqr_2 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)^2*R_2_1*pc_2_2;B_dq1dq2_2 = 2*obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*pc_2_2;B_ddq1_3 = obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*(R_2_1*(pc_3_3 + po_3_2) + po_2_1);B_ddq2_3 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*(pc_3_3 + po_3_2);B_ddq3_3 = R_1_0*R_2_1*obj.uvms_kinematics.z_2_2;B_dq1sqr_3 = obj.S(obj.uvms_kinematics.z_1_0)^2*R_1_0*(R_2_1*(pc_3_3 + po_3_2) + po_2_1);B_dq2sqr_3 = R_1_0*obj.S(obj.uvms_kinematics.y_2_1)^2*R_2_1*(pc_3_3 + po_3_2);B_dq1dq2_3 = 2*obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*(pc_3_3 + po_3_2);B_dq1dq3_3 = 2*obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*R_2_1*obj.uvms_kinematics.z_2_2;B_dq2dq3_3 = 2*R_1_0*obj.S(obj.uvms_kinematics.y_2_1)*R_2_1*obj.uvms_kinematics.z_2_2;%% Jacobian Matrix% angular velocityJ_omega_0 = [zeros(3,3) eye(3) zeros(3,3)];J_omega_1 = [zeros(3,3) eye(3) obj.uvms_kinematics.z_1_0 zeros(3,2)];J_omega_2 = [zeros(3,3) eye(3) obj.uvms_kinematics.z_1_0 R_1_0*obj.uvms_kinematics.y_2_1 zeros(3,1)];J_omega_3 = J_omega_2;% linear velocityJ_v_0 = [eye(3) zeros(3,3) zeros(3,3)];J_v_1 = [eye(3) -obj.S(dc_1_0) A_dq1_1 zeros(3,2)];J_v_2 = [eye(3) -obj.S(dc_2_0) A_dq1_2 A_dq2_2 zeros(3,1)];J_v_3 = [eye(3) -obj.S(dc_3_0) A_dq1_3 A_dq2_3 A_dq3_3];% angular accelerationJ_alpha_dzeta_0 = [zeros(3,3) eye(3) zeros(3,3)];J_alpha_dzeta_1 = [zeros(3,3) eye(3) obj.uvms_kinematics.z_1_0 zeros(3,2)];J_alpha_dzeta_2 = [zeros(3,3) eye(3) obj.uvms_kinematics.z_1_0 R_1_0*obj.uvms_kinematics.y_2_1 zeros(3,1)];J_alpha_dzeta_3 = J_alpha_dzeta_2;J_alpha_zeta_0 = zeros(3,9);J_alpha_zeta_1 = [zeros(3,3) -0.5*obj.S(obj.uvms_kinematics.z_1_0)*dq1 -0.5*obj.S(obj.uvms_kinematics.z_1_0)*omega zeros(3,2)];J_alpha_zeta_2 = [zeros(3,3) -0.5*(obj.S(obj.uvms_kinematics.z_1_0)*dq1+obj.S(R_1_0*obj.uvms_kinematics.y_2_1)*dq2) ...-0.5*obj.S(obj.uvms_kinematics.z_1_0)*(omega-R_1_0*obj.uvms_kinematics.y_2_1*dq2) ...-0.5*(obj.S(R_1_0*obj.uvms_kinematics.y_2_1)*omega-obj.S(obj.uvms_kinematics.z_1_0)*R_1_0*obj.uvms_kinematics.y_2_1*dq1) zeros(3,1)];J_alpha_zeta_3 = J_alpha_zeta_2;% linear accelerationJ_a_dzeta_0 = [eye(3) zeros(3,3) zeros(3,3)];J_a_dzeta_1 = [eye(3) -obj.S(dc_1_0) B_ddq1_1 zeros(3,2)];J_a_dzeta_2 = [eye(3) -obj.S(dc_2_0) B_ddq1_2 B_ddq2_2 zeros(3,1)];J_a_dzeta_3 = [eye(3) -obj.S(dc_3_0) B_ddq1_3 B_ddq2_3 B_ddq3_3];J_a_zeta_0 = [0.5*obj.S(omega) -0.5*obj.S(v) zeros(3,3)];J_a_zeta_1 = [0.5*obj.S(omega) -(0.5*obj.S(v)+obj.S(A_dq1_1)*dq1) ...-(obj.S(A_dq1_1)*omega-B_dq1sqr_1*dq1) zeros(3,2)];J_a_zeta_2 = [0.5*obj.S(omega) -(0.5*obj.S(v)+obj.S(A_dq1_2)*dq1+obj.S(A_dq2_2)*dq2) ...-(obj.S(A_dq1_2)*omega-B_dq1sqr_2*dq1-0.5*B_dq1dq2_2*dq2) ...-(obj.S(A_dq2_2)*omega-B_dq2sqr_2*dq2-0.5*B_dq1dq2_2*dq1) zeros(3,1)];J_a_zeta_3 = [0.5*obj.S(omega) -(0.5*obj.S(v)+obj.S(A_dq1_3)*dq1+obj.S(A_dq2_3)*dq2+obj.S(A_dq3_3)*dq3) ...-(obj.S(A_dq1_3)*omega-B_dq1sqr_3*dq1-0.5*B_dq1dq2_3*dq2-0.5*B_dq1dq3_3*dq3) ...-(obj.S(A_dq2_3)*omega-B_dq2sqr_3*dq2-0.5*B_dq1dq2_3*dq1-0.5*B_dq2dq3_3*dq3) ...-(obj.S(A_dq3_3)*omega-0.5*B_dq1dq3_3*dq1-0.5*B_dq2dq3_3*dq2)];%% Model Parameters% inertia matrix (including added mass)M0 = [J_v_0; J_omega_0]'*([obj.m0*J_a_dzeta_0; obj.I_0_0*J_alpha_dzeta_0] + Ia_0_0*[J_a_dzeta_0; J_alpha_dzeta_0]);M1 = [J_v_1; J_omega_1]'*([obj.m1*J_a_dzeta_1; I_1_0*J_alpha_dzeta_1] + Ia_1_0*[J_a_dzeta_1; J_alpha_dzeta_1]);M2 = [J_v_2; J_omega_2]'*([obj.m2*J_a_dzeta_2; I_2_0*J_alpha_dzeta_2] + Ia_2_0*[J_a_dzeta_2; J_alpha_dzeta_2]);M3 = [J_v_3; J_omega_3]'*([obj.m3*J_a_dzeta_3; I_3_0*J_alpha_dzeta_3] + Ia_3_0*[J_a_dzeta_3; J_alpha_dzeta_3]);M = M0 + M1 + M2 + M3;% vector of Coriolis and centripetal terms (including added mass)C0 = [J_v_0; J_omega_0]'*([obj.m0*J_a_zeta_0; obj.I_0_0*J_alpha_zeta_0+obj.S(J_omega_0*zeta)*obj.I_0_0*J_omega_0]*zeta ...+ Ia_0_0*[J_a_zeta_0*zeta-af_0-obj.S(J_omega_0*zeta)*(J_v_0*zeta-vf_0); J_alpha_zeta_0*zeta-obj.S(J_omega_0*zeta)*J_omega_0*zeta] ...+ [obj.S(J_omega_0*zeta) zeros(3,3); obj.S(J_v_0*zeta-vf_0) obj.S(J_omega_0*zeta)]*Ia_0_0*[J_v_0*zeta-vf_0; J_omega_0*zeta]);C1 = [J_v_1; J_omega_1]'*([obj.m1*J_a_zeta_1; I_1_0*J_alpha_zeta_1+obj.S(J_omega_1*zeta)*I_1_0*J_omega_1]*zeta ...+ Ia_1_0*[J_a_zeta_1*zeta-af_0-obj.S(J_omega_0*zeta)*(J_v_1*zeta-vf_0); J_alpha_zeta_1*zeta-obj.S(J_omega_0*zeta)*J_omega_1*zeta] ...+ [obj.S(J_omega_1*zeta) zeros(3,3); obj.S(J_v_1*zeta-vf_0) obj.S(J_omega_1*zeta)]*Ia_1_0*[J_v_1*zeta-vf_0; J_omega_1*zeta]);C2 = [J_v_2; J_omega_2]'*([obj.m2*J_a_zeta_2; I_2_0*J_alpha_zeta_2+obj.S(J_omega_2*zeta)*I_2_0*J_omega_2]*zeta ...+ Ia_2_0*[J_a_zeta_2*zeta-af_0-obj.S(J_omega_0*zeta)*(J_v_2*zeta-vf_0); J_alpha_zeta_2*zeta-obj.S(J_omega_0*zeta)*J_omega_2*zeta] ...+ [obj.S(J_omega_2*zeta) zeros(3,3); obj.S(J_v_2*zeta-vf_0) obj.S(J_omega_2*zeta)]*Ia_2_0*[J_v_2*zeta-vf_0; J_omega_2*zeta]);C3 = [J_v_3; J_omega_3]'*([obj.m3*J_a_zeta_3; I_3_0*J_alpha_zeta_3+obj.S(J_omega_3*zeta)*I_3_0*J_omega_3]*zeta ...+ Ia_3_0*[J_a_zeta_3*zeta-af_0-obj.S(J_omega_0*zeta)*(J_v_3*zeta-vf_0); J_alpha_zeta_3*zeta-obj.S(J_omega_0*zeta)*J_omega_3*zeta] ...+ [obj.S(J_omega_3*zeta) zeros(3,3); obj.S(J_v_3*zeta-vf_0) obj.S(J_omega_3*zeta)]*Ia_3_0*[J_v_3*zeta-vf_0; J_omega_3*zeta]);C = C0 + C1 + C2 + C3;% vector of external forces (- Fg - Fb - Ff - Fd)vr_1_0_normal = J_v_1*zeta - vf_0 - dot(J_v_1*zeta-vf_0,R_1_0*obj.uvms_kinematics.z_1_1)*R_1_0*obj.uvms_kinematics.z_1_1;vr_2_0_normal = J_v_2*zeta - vf_0 - dot(J_v_2*zeta-vf_0,R_2_0*obj.uvms_kinematics.z_2_2)*R_2_0*obj.uvms_kinematics.z_2_2;vr_3_0_normal = J_v_3*zeta - vf_0 - dot(J_v_3*zeta-vf_0,R_3_0*obj.uvms_kinematics.z_3_3)*R_3_0*obj.uvms_kinematics.z_3_3;Fe0 = [J_v_0; J_omega_0]'*([-obj.m0*g_0+obj.rho*V0*(g_0-af_0); zeros(3,1)] ...+ [pi/2*obj.rho*obj.Cd0*r0^2*norm(J_v_0*zeta-vf_0)*(J_v_0*zeta-vf_0); zeros(3,1)]);Fe1 = [J_v_1; J_omega_1]'*([-obj.m1*g_0+obj.rho*V1*(g_0-af_0); zeros(3,1)] ...+ obj.rho*obj.Cd1*obj.uvms_kinematics.r1*norm(vr_1_0_normal)*...[obj.uvms_kinematics.L1*vr_1_0_normal; 1/2*obj.uvms_kinematics.L1^2*obj.S(R_1_0*obj.uvms_kinematics.z_1_1)*vr_1_0_normal]);Fe2 = [J_v_2; J_omega_2]'*([-obj.m2*g_0+obj.rho*V2*(g_0-af_0); zeros(3,1)] ...+ obj.rho*obj.Cd2*obj.uvms_kinematics.r2*norm(vr_2_0_normal)*...[obj.uvms_kinematics.L2*vr_2_0_normal; 1/2*obj.uvms_kinematics.L2^2*obj.S(R_2_0*obj.uvms_kinematics.z_2_2)*vr_2_0_normal]);Fe3 = [J_v_3; J_omega_3]'*([-obj.m3*g_0+obj.rho*V3*(g_0-af_0); zeros(3,1)] ...+ obj.rho*obj.Cd3*obj.uvms_kinematics.r3*norm(vr_3_0_normal)*...[obj.uvms_kinematics.L3*vr_3_0_normal; 1/2*obj.uvms_kinematics.L3^2*obj.S(R_3_0*obj.uvms_kinematics.z_3_3)*vr_3_0_normal]);Fe = Fe0 + Fe1 + Fe2 + Fe3;end%% Volume of Link (assume neutrally buoyant m = rho*V)function [V0, V1, V2, V3] = GetVolume(obj)
% V0 = 4/3*pi*(obj.uvms_kinematics.Lx/2)*(obj.uvms_kinematics.Ly/2)*(obj.uvms_kinematics.Lz/2);
% V1 = pi*obj.uvms_kinematics.r1^2*obj.uvms_kinematics.L1;
% V2 = pi*obj.uvms_kinematics.r2^2*obj.uvms_kinematics.L2;
% V3 = pi*obj.uvms_kinematics.r3^2*obj.uvms_kinematics.L3;V0 = obj.m0/obj.rho;V1 = obj.m1/obj.rho;V2 = obj.m2/obj.rho;V3 = obj.m3/obj.rho;end%% Inertia Matrix of Link % inertia matrix of link 1 2 3 expressed in frame 0function [I_1_0, I_2_0, I_3_0] = GetInertiaMatrix(obj)R_1_0 = obj.uvms_kinematics.get_R_1_0();R_2_0 = obj.uvms_kinematics.get_R_2_0();R_3_0 = obj.uvms_kinematics.get_R_3_0();I_1_0 = R_1_0*obj.I_1_1*R_1_0';I_2_0 = R_2_0*obj.I_2_2*R_2_0';I_3_0 = R_3_0*obj.I_3_3*R_3_0';end%% Added Mass Matrix% added mass matrix of link 0 expressed in frame 0function Ia_0_0 = get_Ia_0_0(obj) % semi-axis of vehicle (a > b)a = obj.uvms_kinematics.Lx/2;b = (obj.uvms_kinematics.Ly*obj.uvms_kinematics.Lz/4)^(1/2);e = 1 - (b/a)^2;m = 4/3*pi*obj.rho*a*b^2;alpha0 = 2*(1-e^2)/e^3 * (1/2*log((1+e)/(1-e)) - e);beta0 = 1/e^2 - (1-e^2)/(2*e^3) * log((1+e)/(1-e));Ia_0_0 = zeros(6,6);Ia_0_0(1,1) = -alpha0/(2-alpha0)*m;Ia_0_0(2,2) = -beta0/(2-beta0)*m;Ia_0_0(3,3) = -beta0/(2-beta0)*m;Ia_0_0(4,4) = 0;Ia_0_0(5,5) = -1/5 * (b^2-a^2)^2*(alpha0-beta0) / (2*(b^2-a^2)+(b^2+a^2)*(beta0-alpha0)) * m;Ia_0_0(6,6) = -1/5 * (b^2-a^2)^2*(alpha0-beta0) / (2*(b^2-a^2)+(b^2+a^2)*(beta0-alpha0)) * m;end% added mass matrix of link 1 expressed in frame 1function Ia_1_1 = get_Ia_1_1(obj)k1 = obj.rho*pi*obj.uvms_kinematics.r1^2*obj.uvms_kinematics.L1/4; Ia_1_1 = diag([k1 k1 0 k1*obj.uvms_kinematics.L1^2/3 k1*obj.uvms_kinematics.L1^2/3 0]);end% added mass matrix of link 2 expressed in frame 2function Ia_2_2 = get_Ia_2_2(obj)k2 = obj.rho*pi*obj.uvms_kinematics.r2^2*obj.uvms_kinematics.L2/4; Ia_2_2 = diag([k2 k2 0 k2*obj.uvms_kinematics.L2^2/3 k2*obj.uvms_kinematics.L2^2/3 0]);end% added mass matrix of link 3 expressed in frame 3function Ia_3_3 = get_Ia_3_3(obj)k3 = obj.rho*pi*obj.uvms_kinematics.r3^2*obj.uvms_kinematics.L3/4; Ia_3_3 = diag([k3 k3 0 k3*obj.uvms_kinematics.L3^2/3 k3*obj.uvms_kinematics.L3^2/3 0]);end% added mass matrix of link 0 1 2 3 expressed in frame 0function [Ia_0_0, Ia_1_0, Ia_2_0, Ia_3_0] = GetAddedMassMatrix(obj)R_1_0 = obj.uvms_kinematics.get_R_1_0();R_2_0 = obj.uvms_kinematics.get_R_2_0();R_3_0 = obj.uvms_kinematics.get_R_3_0();Ia_0_0 = obj.get_Ia_0_0();Ia_1_1 = obj.get_Ia_1_1();Ia_2_2 = obj.get_Ia_2_2();Ia_3_3 = obj.get_Ia_3_3();Ia_1_0 = zeros(6,6);Ia_1_0(1:3,1:3) = R_1_0*Ia_1_1(1:3,1:3)*R_1_0';Ia_1_0(4:6,4:6) = R_1_0*Ia_1_1(4:6,4:6)*R_1_0';Ia_2_0 = zeros(6,6);Ia_2_0(1:3,1:3) = R_2_0*Ia_2_2(1:3,1:3)*R_2_0';Ia_2_0(4:6,4:6) = R_2_0*Ia_2_2(4:6,4:6)*R_2_0';Ia_3_0 = zeros(6,6);Ia_3_0(1:3,1:3) = R_3_0*Ia_3_3(1:3,1:3)*R_3_0';Ia_3_0(4:6,4:6) = R_3_0*Ia_3_3(4:6,4:6)*R_3_0';endendmethods(Static) % matrix operator performing cross between two vectorsfunction out = S(x)out = [ 0 -x(3) x(2)x(3) 0 -x(1)-x(2) x(1) 0];endend
end
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
【机械仿真】基于matlab水下机器人机械手系统仿真【含Matlab源码 1264期】相关推荐
- 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】
一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...
- 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】
一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】
一.代码运行视频(哔哩哔哩) [Matlab通信]DTMF双音多频电话拨号仿真[含GUI源码 805期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...
- 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...
- 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...
- 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】
一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...
- 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】
一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...
最新文章
- 狂汗!售货员竟遭遇到最彪悍的付款方式(转)
- ibatis增删改、批量增删改以及查询
- 微软老毛病还没改:Win10版本多达七个 咋选?
- 为已创建好的临时表添加字段列
- C 语言 普通基本数据类型 以及 其储存形式
- python读取有空行的csv_如何在使用python读取CSV文件时跳过空行
- 神器:多卡同步的Batch Normalization
- 在线html编辑器 asp,(ewebeditor)比较简单好用的ASP网页在线编辑器
- 一个简单的优酷视频链接探测与分享功能
- Message Authentication Code
- linux下安装rabbitMQ和springboot+rabbitMQ使用案例
- 【2022.1】电脑重装系统后浏览器密码恢复:Edge需自己打开自动同步,Chrome默认直接同步
- VirtualBox虚拟机的网卡地址重复导致的问题
- 2021 CNSS招新赛 WEB WP
- 扫描仪没有linux 驱动怎么安装,怎么安装没有驱动盘的扫描仪
- 如何将RAW格式的磁盘修改为NTFS?教给你三种操作方法
- 什么是OSI模型,OSI模型各层的是什么?OSI模型各层的作用是什么?
- 什么是Race Condition?
- 一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现
- 【9008】香甜的黄油
热门文章
- [原创]Java开发如何在线打开Word文件
- 数据库——MySQL
- 工作中,什么情况下应该负责到底?
- 对字节输入输出流的理解以及几道练习题
- Building a Better Vocabulary: Lecture 1 Five Principles for Learning Vocabulary
- 传智播客Java 二维数组
- unity 插件 color picker htc手柄控制,扣动扳机生成三维点线
- java DefaultMutableTreeNode 树形结构 目录 1. Tree的概念	1 1.1. treeNode接口,mutabletreenode接口	1 1.2. 10-4:以T
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
- Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法??