体对角线 matlab,Matlab计算结果显示求不出精确解
遇到一个问题卡了好久,求大神指导啊。代码如下
char('车体外轮廓线关键点坐标')
x11=[0.238 0.437 0.548 0.631 0.746 0.856 0.969]%车顶部分关键位置点横坐标%
y11=[4.05 4.047 4.041 4.04 4.033 4.022 4.007]%车顶部分关键位置点纵坐标%
X11p=diag(x11,0)%使用该函数来产生第K阶对角线上的元素,K=0表示主对角线%
Y11p=diag(y11,0)%使用该函数来产生第K阶对角线上的元素,K=0表示主对角线%
char('车辆基本参数')
l=1.443%最大轨距(含钢轨内侧面磨损)%
d=1.254%轮对轮缘最小外侧距(轮缘最大磨耗时)%
n=3.3835%车体计算断面至相邻中心销距离%
a=17.345%车辆定距%
ditq1=0.002%转向架轴箱轴承横向游间%
ditq2=0%车轮横向弹性变形量%
ditq3=0.07%转向架一系弹簧横向弹性变形量(或轴箱与导柱最大间隙)%
ditw1=0%转向架中心销径向间隙及磨耗量%
ditw2=0.01%转向架二系弹簧横向弹性变形量(静态)%
dite=0.001%轨道横向弹性变形量%
dithc2=0.001%两条钢轨的相对高度的弹性变形量%
mB=47000
aB=1
g=9.81%重力加速度%
hcp=0.802
hcs=0.895
hsc=1.65%车体重心距轨面高%
np=4%车辆一侧一系弹簧并列数%
cp=8640%每一轴箱一系弹簧垂向刚度%
bp=2%一系弹簧横向间距%
ns=2%车辆一侧二系弹簧并列数%
cs=20500%转向架每一侧二系弹簧垂向刚度%
bs=2%二系弹簧间距%
kon=460000
kop=0.5*np*cp*bp^2%整车一系弹簧侧滚刚度%
kos=0.5*ns*cs*bs^2+2*kon
S=mB*g*((hsc-hcp)/kop+(hsc-hcs)/kos)%重力倾角附加系数%
ditd=0.0015%轮对横向制造误差值%
ditw3=0.01%转向架二系弹簧横向弹性变形量(动态)%
ditMt1=0.001%转向架中心销安装定位误差值%
ditMt2=0.001%转向架一系弹簧横向定位误差值%
ditMt3=0.07%车体半宽横向制造误差值%
ditMt4=0.002%车体表面设备安装误差值%
ditMt5=0.005%受电弓横向安装误差值%
ditShd=0.055%受电弓相对车体横向晃动量%
ditc=0.004%线路中心线横向位差值%
mz=0%载荷不对称的计算载客重量%
ditxBq=0.007%车体倾斜量%
hsj=1.02%车底架边梁底面距轨面高度%
Hcq=2.88%车体侧墙高度%
dithc1=0.004
Aw=69.5
Pw=600
hsw=2%车体受风面积形心距轨面高度%
ditMt9=0.007
ditMt6=0.004
ditMt8=0.008%车体上部或上部安装设备的高度尺寸制造安装误差值%
ditfp=0.01
ditfs=0.032%转向架二系弹簧竖向动挠度%
altc=0.0044
f01=0.002%转向架一系弹簧竖向永久变形量%
f01p=0%车轮竖向弹性变形量%
f1=0%转向架一系弹簧空重车挠度变化量%
f02=0.005%转向架二系弹簧竖向永久变形量或安装公差值%
f2=0%转向架二系弹簧空重车挠度变化或高度阀不感度%
alte=0.0033%轨道竖向弹性变形量%
altw0=0.01%轨道竖向磨耗量%
altw1p=0.01%两次旋轮间踏面磨耗量(不可补偿的踏面磨耗量)%
ditMt7=0.02%车体下部及吊挂物高度尺寸制造安装误差值%
altw1=0.01%车轮最大旋削量%
m=0%转向架计算断面至相邻轴距离%
p=2.5%转向架固定轴距%
ditMt10=0.01%转向架构架横向制造误差值%
ditMt11=0.0015%转向架构架向上竖向制造误差值%
ditMt12=0.035%转向架构架向下竖向制造误差值%
ditMt13=0.01%转向架簧下部分横向制造误差值%
ditMt14=0.08%转向架簧下部分竖向制造误差值%
clc
char('车体偏移量计算公式分解')
syms Y11 X11
Ch11=(Y11-hcp)*(hsw-hcp)/kop+(Y11-hcs)*(hsw-hcs)/kos
Chp11=(Y11-hcp)*(hsc-hcp)/kop+(Y11-hcs)*(hsc-hcs)/kos
ditXBP1_body=(l-d)*(2*n+a)/(2*a)
ditXBP2_body=(ditq1+ditq2+ditq3)*(2*n+a)/a
ditXBP3_body=(ditw1+ditw2)*(2*n+a)/a+dite
ditXBP41_body=dithc2*Y11*(1+S)/1500
ditXBP51_body=100*mz*g*(1+S)*((Y11-hcp)/kop+(Y11-hcs)/kos)
ditXBP6_body=((ditd*(2*n+a))/(2*a))^2
ditXBP7_body=(ditw3*(2*n+a)/a)^2
ditXBP8_body=(ditMt1)^2+(ditMt2)^2+(ditMt3)^2+(ditMt4)^2+(ditMt5)^2+(ditShd)^2+(ditc)^2
ditXBP91_body=(ditxBq*(Y11-hsj)/Hcq)^2
ditXBP101_body=(dithc1*Y11*(1+S)/1500)^2
ditXBP111_body=(Aw*Pw*(1+S)*Ch11)^2+(mB*aB*(1+S)*Chp11)^2
char('车体偏移量计算整合')%备注公式要计算内容%
XBP1_same_body=ditXBP1_body+ditXBP2_body+ditXBP3_body+ditXBP41_body+ditXBP51_body+sqrt(ditXBP6_body+ditXBP7_body+ditXBP8_body+ditXBP91_body+ditXBP101_body+ditXBP111_body)
YBPu1_body=ditMt9+sqrt((ditMt6)^2+(ditMt8)^2+(ditfp*(2*n+a)/a)^2+(ditfs*(2*n+a)/a)^2+altc^2)
YBPu21_body=dithc2*(1+S)*X11/1500+100*mz*g*(1+S)*(1/kop+1/kos)*X11
YBPu31_body=(ditxBq*X11/Hcq)^2+(dithc1*X11*(1+S)/1500)^2+(Aw*Pw*(1+S)*X11*((hsw-hcp)/kop+(hsw-hcs)/kos))^2+(mB*aB*(1+S)*X11*((hsc-hcp)/kop+(hsc-hcs)/kos))^2
YBPu1_same_body=YBPu1_body-YBPu21_body-sqrt(YBPu31_body)
[X11,Y11]=solve('X11p-XBP1_same_body','Y11p-YBPu1_same_body','X11','Y11')
计算结果显示:
警告: Explicit solution could not be found.
> In solve at 179
X11 =
[ empty sym ]
Y11 =
[]
用的Matlab是64位R2014a的版本,求大神指导。