求助:Unhandled exception in **.exe:0xC00000FD:Stack Overflow
double CSpaceResectionDlg::Function(double initXS,double initYS,double initZS,double initalfa,double initw,double initk)
{
UpdateData();
//initXS,initYS,initZS,initalfa,initw,initk的初始值
initXS=(m_nXA+m_nXB+m_nXC+m_nXD)/4;
initYS=(m_nYA+m_nYB+m_nYC+m_nYD)/4;
initZS= m_nf*(1/m_nscale);
initalfa=0.0;
initw=0.0;
initk=0.0;
//以下是书上的公式
double H = m_nf*(1/m_nscale);
double a1 = cos(initalfa)*cos(initk)-sin(initalfa)*sin(initw)*sin(initk);
double a2 = -cos(initalfa)*sin(initk)-sin(initalfa)*sin(initw)*cos(initk);
double a3 = -sin(initalfa)*cos(initw);
double b1 = cos(initw)*sin(initk);
double b2 = cos(initw)*cos(initk);
double b3 = -sin(initw);
double c1 = sin(initalfa)*cos(initk)+cos(initalfa)*sin(initw)*sin(initk);
double c2 = -sin(initalfa)*sin(initk)+cos(initalfa)*sin(initw)*sin(initk);
double c3 = cos(initalfa)*cos(initw);
double a11_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(a1*m_nf+a3*m_nxa);
double a12_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(b1*m_nf+b3*m_nxa);
double a13_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(c1*m_nf+c3*m_nxa);
double a21_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(a2*m_nf+a3*m_nxa);
double a22_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(b2*m_nf+b3*m_nxa);
double a23_1=1/(a3*(m_nXA-initXS)+b3*(m_nYA-initYS)+c3*(m_nZA-initZS))*(c2*m_nf+c3*m_nxa);
double a14_1=m_nya*sin(initw)-(m_nxa/m_nf*(m_nxa*cos(initk)-m_nya*sin(initk))+m_nf*cos(initk))*cos(initw);
double a15_1=-m_nf*sin(initk)-m_nxa/m_nf*(m_nxa*sin(initk)+m_nya*cos(initk));
double a16_1=m_nya;
double a24_1=-m_nxa*sin(initw)-(m_nya/m_nf*(m_nxa*cos(initk)-m_nya*sin(initk))-m_nf*sin(initk))*cos(initw);
double a25_1=-m_nf*cos(initk)-m_nya/m_nf*(m_nxa*sin(initk)+m_nya*cos(initk));
double a26_1=-m_nxa;
double a11_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(a1*m_nf+a3*m_nxb);
double a12_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(b1*m_nf+b3*m_nxb);
double a13_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(c1*m_nf+c3*m_nxb);
double a21_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(a2*m_nf+a3*m_nxb);
double a22_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(b2*m_nf+b3*m_nxb);
double a23_2=1/(a3*(m_nXB-initXS)+b3*(m_nYB-initYS)+c3*(m_nZB-initZS))*(c2*m_nf+c3*m_nxb);
double a14_2=m_nyb*sin(initw)-(m_nxb/m_nf*(m_nxb*cos(initk)-m_nyb*sin(initk))+m_nf*cos(initk))*cos(initw);
double a15_2=-m_nf*sin(initk)-m_nxb/m_nf*(m_nxb*sin(initk)+m_nyb*cos(initk));
double a16_2=m_nyb;
double a24_2=-m_nxb*sin(initw)-(m_nyb/m_nf*(m_nxb*cos(initk)-m_nyb*sin(initk))-m_nf*sin(initk))*cos(initw);
double a25_2=-m_nf*cos(initk)-m_nyb/m_nf*(m_nxb*sin(initk)+m_nyb*cos(initk));
double a26_2=-m_nxb;
double a11_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(a1*m_nf+a3*m_nxc);
double a12_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(b1*m_nf+b3*m_nxc);
double a13_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(c1*m_nf+c3*m_nxc);
double a21_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(a2*m_nf+a3*m_nxc);
double a22_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(b2*m_nf+b3*m_nxc);
double a23_3=1/(a3*(m_nXC-initXS)+b3*(m_nYC-initYS)+c3*(m_nZC-initZS))*(c2*m_nf+c3*m_nxc);
double a14_3=m_nyc*sin(initw)-(m_nxc/m_nf*(m_nxc*cos(initk)-m_nyc*sin(initk))+m_nf*cos(initk))*cos(initw);
double a15_3=-m_nf*sin(initk)-m_nxc/m_nf*(m_nxc*sin(initk)+m_nyc*cos(initk));
double a16_3=m_nyc;
double a24_3=-m_nxc*sin(initw)-(m_nyc/m_nf*(m_nxc*cos(initk)-m_nyc*sin(initk))-m_nf*sin(initk))*cos(initw);
double a25_3=-m_nf*cos(initk)-m_nyc/m_nf*(m_nxc*sin(initk)+m_nyc*cos(initk));
double a26_3=-m_nxc;
double a11_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(a1*m_nf+a3*m_nxd);
double a12_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(b1*m_nf+b3*m_nxd);
double a13_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(c1*m_nf+c3*m_nxd);
double a21_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(a2*m_nf+a3*m_nxd);
double a22_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(b2*m_nf+b3*m_nxd);
double a23_4=1/(a3*(m_nXD-initXS)+b3*(m_nYD-initYS)+c3*(m_nZD-initZS))*(c2*m_nf+c3*m_nxd);
double a14_4=m_nyd*sin(initw)-(m_nxd/m_nf*(m_nxd*cos(initk)-m_nyd*sin(initk))+m_nf*cos(initk))*cos(initw);
double a15_4=-m_nf*sin(initk)-m_nxd/m_nf*(m_nxd*sin(initk)+m_nyd*cos(initk));
double a16_4=m_nyd;
double a24_4=-m_nxd*sin(initw)-(m_nyd/m_nf*(m_nxd*cos(initk)-m_nyd*sin(initk))-m_nf*sin(initk))*cos(initw);
double a25_4=-m_nf*cos(initk)-m_nyd/m_nf*(m_nxd*sin(initk)+m_nyd*cos(initk));
double a26_4=-m_nxd;
//矩阵A
double A[8][6]=
{{a11_1,a12_1,a13_1,a14_1,a15_1,a16_1},
{a21_1,a22_1,a23_1,a24_1,a25_1,a26_1},
{a11_2,a12_2,a13_2,a14_2,a15_2,a16_2},
{a21_2,a22_2,a23_2,a24_2,a25_2,a26_2},
{a11_3,a12_3,a13_3,a14_3,a15_3,a16_3},
{a21_3,a22_3,a23_3,a24_3,a25_3,a26_3},
{a11_4,a12_4,a13_4,a14_4,a15_4,a16_4},
{a21_4,a22_4,a23_4,a24_4,a25_4,a26_4}};
//矩阵A的转置矩阵A_zhuan
double A_zhuan[6][8]=
{{a11_1,a21_1,a11_2,a21_2,a11_3,a21_3,a11_4,a21_4},
{a12_1,a22_1,a12_2,a22_2,a12_3,a22_3,a12_4,a22_4},
{a13_1,a23_1,a13_2,a23_2,a13_3,a23_3,a13_4,a23_4},
{a14_1,a24_1,a14_2,a24_2,a14_3,a24_3,a14_4,a24_4},
{a15_1,a25_1,a15_2,a25_2,a15_3,a25_3,a15_4,a25_4},
{a16_1,a26_1,a16_2,a26_2,a16_3,a26_3,a16_4,a26_4},
};
double opprox_xa = -m_nf*(m_nXA-initXS)/(m_nZA-initZS);
double opprox_ya = -m_nf*(m_nYA-initXS)/(m_nZA-initZS);
double opprox_xb = -m_nf*(m_nXB-initXS)/(m_nZB-initZS);
double opprox_yb = -m_nf*(m_nYB-initXS)/(m_nZB-initZS);
double opprox_xc = -m_nf*(m_nXC-initXS)/(m_nZC-initZS);
double opprox_yc = -m_nf*(m_nYC-initXS)/(m_nZC-initZS);
double opprox_xd = -m_nf*(m_nXD-initXS)/(m_nZD-initZS);
double opprox_yd = -m_nf*(m_nYD-initXS)/(m_nZD-initZS);
double l_xa = m_nxa-opprox_xa;
double l_ya = m_nya-opprox_ya;
double l_xb = m_nxb-opprox_xb;
double l_yb = m_nyb-opprox_yb;
double l_xc = m_nxc-opprox_xc;
double l_yc = m_nyc-opprox_yc;
double l_xd = m_nxd-opprox_xd;
double l_yd = m_nyd-opprox_yd;
//矩阵L
double L[8][1]={{l_xa},{l_ya},{l_xb},{l_yb},{l_xc},{l_yc},{l_xd},{l_yd}};
//为矩阵A,A_zhuan,L,B,C,X分配内存
A[100][100];
A_zhuan[100][100];
L[100][100];
double B[100][100];
double C[100][100];
double X[100][100];
brmul((double*)A_zhuan,(double*)A,6,8,6,(double*)B);
//矩阵A的转置矩阵乘以矩阵A,返回矩阵B
brinv((double*)B,6);
//矩阵B的逆
brmul((double*)B,(double*)A_zhuan,6,6,8,(double*)C);
//矩阵B的转置矩阵乘以矩阵A的转置矩阵,返回矩阵C
brmul((double*)C,(double*)L,6,8,1,(double*)X);
//矩阵C乘以矩阵L,返回矩阵X
//计算m_XS,m_YS,m_ZS,m_alfa,m_w,m_k
m_XS = initXS+X[0][0];
m_YS = initYS+X[1][0];
m_ZS = initZS+X[2][0];
m_alfa=initalfa+X[3][0];
m_w = initw+X[4][0];
m_k = initk+X[5][0];
//如果m_alfa或者m_w或者m_k的值大于0.1,
if((fabs(m_alfa)>=0.1)||(fabs(m_w)>=0.1)||(fabs(m_k)>=0.1))
{
initXS+=X[0][0];
initYS+=X[1][0];
initZS+=X[2][0];
initalfa+=X[3][0];
initw+=X[4][0];
initk+=X[5][0];
//递归
Function(initXS,initYS,initZS,initalfa,initw,initk);
return m_XS,m_YS,m_ZS,m_alfa,m_w,m_k;
}
else
return m_XS,m_YS,m_ZS,m_alfa,m_w,m_k;
UpdateData(false);
}
编译运行都没错,就是出不了结果
我用断点看了看,提示:
Unhandled exception in **.exe:0xC00000FD:Stack Overflow
求助~~~~
相关推荐
科技成果进场交易前,评估备案环节需要准备哪些材料?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
人工智能基于类型化方法的训练数据获取与处理体系:构建数据中心化AI治理框架
内容概要:本文从类型化视角系统研究了人工智能训练数据的获取与处理体系,提出应构建多元化、高质量、合规有序的数据供给体系。文章首先分析数据获取的三种类型:来源类型(网络公开抓取、开源数据集、多源协同)、合规性类型(合法性困境与制度供给)以及产业组织类型(“隐身劳动”到多元协作)。随后构建数据处理的类型化体系,包括四方面:阶段类型(从“生语料”到“归档数据集”的五阶段流程)、操作类型(形成包含采集、清洗、标注、脱敏、去重、切片、向量化等在内的“数据操作工具箱”)、范式类型(推动从“模型中心”向“数据中心”的范式转型),以及管理类型(建立覆盖全生命周期的治理框架)。最后指出,AI治理正迈向以数据为中心的新范式,需通过制度完善、产业协同、技术创新与监管强化实现系统性突破。; 适合人群:从事人工智能研发、数据治理、算法合规及相关政策研究的专业人员,尤其适用于AI企业技术管理者、数据科学家、法律合规从业者及政府监管部门人员。; 使用场景及目标:①理解AI训练数据获取的合法路径与产业协作模式;②掌握数据处理的全流程阶段划分与核心技术操作;③推动“数据为中心”的AI开发范式转型;④构建符合法律与伦理要求的全生命周期数据治理体系。; 阅读建议:此资源理论与实践结合紧密,建议读者结合实际项目中的数据采集、清洗、标注与合规流程进行对照学习,并重点关注“数据操作工具箱”与“数据中心AI”范式,以提升数据工程化能力和治理水平。
政府科技管理者在推动区域科技创新时,如何精准配置科技成果与产业需求?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
基于LADRC控制器(三阶扩张状态观测器)的永磁同步直线电机位置环控制matlab仿真
内容概要:本文详细介绍了基于LADRC控制器(三阶扩张状态观测器)的永磁同步直线电机位置环控制系统的Matlab仿真研究,系统阐述了该先进控制策略在高精度运动控制中的应用。文章围绕LADRC的核心思想——通过扩张状态观测器实时估计并补偿系统内部动态不确定性及外部扰动,从而显著提升控制系统的鲁棒性、抗干扰能力和动态响应性能展开论述。内容涵盖控制器的整体设计架构、三阶扩张状态观测器的数学建模与实现方法、非线性反馈控制律的构建、关键参数的整定策略,并通过Matlab/Simulink搭建完整的仿真模型,与传统PID控制进行了对比实验,充分验证了LADRC在抑制负载扰动、减小跟踪误差、加快响应速度等方面的优越性。; 适合人群:具备自动控制理论基础和Matlab/Simulink仿真经验的电气工程、自动化、机电一体化及相关专业的硕士研究生、博士研究生、科研人员及从事高性能电机驱动系统开发的工程技术人员。; 使用场景及目标:①用于高性能永磁同步直线电机控制系统的设计、分析与性能优化;②作为自抗扰控制(ADRC)及其变体(LADRC)算法的教学案例与科研仿真平台;③深入理解扩张状态观测器的工作机理及扰动补偿机制;④对比研究LADRC与传统PID等线性控制器在动态性能、鲁棒性方面的差异; 阅读建议:建议结合文中详述的仿真模型与参数设置进行动手实践,重点关注扩张状态观测器的设计过程与扰动估计的实时性,通过修改系统参数、引入不同类型的外部负载扰动来测试控制器的鲁棒性,并尝试调整观测器带宽与控制器带宽以观察其对系统性能的影响,从而深化对LADRC核心原理的理解。
产业园区运营负责人如何高效配置资源以提升园区内科技成果转化率?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。


