为什么在matlab中,算式中的数据都是实数,可是算到后来算是的结果确成为复数了?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/22 21:58:54
为什么在matlab中,算式中的数据都是实数,可是算到后来算是的结果确成为复数了?
global sita1 sita2 kesi sigema;
P0=input('请输入工作压力P0(Mpa)=')*1e6;
Pa=1e5;sigema=Pa/P0;
R=input('请输入球半径R(mm)=');
sita1=input('请输入球窝内包角sita1(度)=')*pi/180;
sita2=input('请输入球窝外包角sita2(度)=')*pi/180;
n=input('请输入节流孔个数n(个数)=');
d=input('请输入节流孔直径d(mm)=');
sita0=fzero(@fun1,30*pi/180)
f31=log(tan(sita2)/tan(sita0))
f32=log(tan(sita0)/tan(sita1))
f33=log(tan(sita2)/tan(sita1))
f34=1/(2*(cos(sita0))^2)
f35=1/(2*(cos(sita1))^2)
f36=1/(2*(cos(sita2))^2)
f3=(f31+f36-f34)*(f32+f34-f35)/(f33+f36-f35)
f2=268e-6;
if sigema==1/4 g=1.290;
elseif sigema==1/5 g=1.740;
elseif sigema==1/6 g=2.284;
end
e=((0.8*0.25*pi*d^2*n*f2*f3)/(2.4*g))^(1/3)
e=int16(e)
f1=0.8*0.25*pi*d^2*n/(e^3)
kesi=f1*f2*f3
beita=sqrt(kesi*sigema*0.484+sigema^2)
到e的时候计算结果开始变成复数了,
global sita1 sita2 kesi sigema;
P0=input('请输入工作压力P0(Mpa)=')*1e6;
Pa=1e5;sigema=Pa/P0;
R=input('请输入球半径R(mm)=');
sita1=input('请输入球窝内包角sita1(度)=')*pi/180;
sita2=input('请输入球窝外包角sita2(度)=')*pi/180;
n=input('请输入节流孔个数n(个数)=');
d=input('请输入节流孔直径d(mm)=');
sita0=fzero(@fun1,30*pi/180)
f31=log(tan(sita2)/tan(sita0))
f32=log(tan(sita0)/tan(sita1))
f33=log(tan(sita2)/tan(sita1))
f34=1/(2*(cos(sita0))^2)
f35=1/(2*(cos(sita1))^2)
f36=1/(2*(cos(sita2))^2)
f3=(f31+f36-f34)*(f32+f34-f35)/(f33+f36-f35)
f2=268e-6;
if sigema==1/4 g=1.290;
elseif sigema==1/5 g=1.740;
elseif sigema==1/6 g=2.284;
end
e=((0.8*0.25*pi*d^2*n*f2*f3)/(2.4*g))^(1/3)
e=int16(e)
f1=0.8*0.25*pi*d^2*n/(e^3)
kesi=f1*f2*f3
beita=sqrt(kesi*sigema*0.484+sigema^2)
到e的时候计算结果开始变成复数了,
e=((0.8*0.25*pi*d^2*n*f2*f3)/(2.4*g))^(1/3)
负数开三次方,会出现复数
比如(-1)^(1/3)= 0.5000 + 0.8660i
负数开三次方,会出现复数
比如(-1)^(1/3)= 0.5000 + 0.8660i
为什么在matlab中,算式中的数据都是实数,可是算到后来算是的结果确成为复数了?
为什么matlab复数运算结果虚部都是零
MATLAB中:如何剔除一个数组中的复数(前面元素是实数,后面是复数,复数的数量不定).
在matlab中我在输入数据之后,为什么他自己变成了科学计数法的表示形式.
Matlab中如何画出数据分类结果的图形?
matlab得的结果中如何将虚数化为实数
在matlab 中怎样读取矩阵中的数据
在matlab中将特定列的数据存到另一个矩阵中
在MATLAB中,如何对xls表格中的日期格式的数据进行统计频数?
Matlab 怎么设置小数啊?我想剪切Matlab里边的数据到Excel里边去.可是Matlab里边的数据有很多位小数啊
matlab中,为什么我在每条语句句末打了分号,还是输出结果,怎么办?
有一组数据,结果应该符合幂函数分布.请问在matlab中能否实现数据拟合,并且求出幂函数取对数后的斜率呢