检查: 238|回复: 2|重视: 0
打印 上一主题 下一主题

[已处理] matlab函数求解时输入单个变量和输入连续变量求得的成果不一致

[仿制链接]

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
我写了一个m函数,自变量是e。
当给定e为一值时,比方e=0时,核算成果为0,此为正确成果,此种状况算出的成果均正确;
而当给定e为连续变量时,比方e=-2:0.01:2,所求得的成果图画和正确成果不一致,请问这是什么状况?

以下是函数程序,请帮帮我,这个问题现已困扰好久了:'( :'( :'(

%齿轮基本参数
z1 = 25;
                      %输入齿轮1(主动轮)的齿数
z2 = 31;
                      %输入齿轮2(从动轮)的齿数
i = z2./z1 ;
                      %核算传动比
%fprintf('i=%g\n',i)
                      %输出传动比
m = 3.25;
                      %输入齿轮模数
r1 = m.*z1./2;          %核算齿轮1分度圆
r2 = m.*z2./2;          %核算齿轮2分度圆
a = r1+r2;           %中心距
rb1 = r1.*cosd(20);    %核算齿轮1基圆
rb2 = r2.*cosd(20);   %核算齿轮2基圆
ra1 = r1+1.*m;   %核算齿轮1齿顶圆
ra2 = r2+1.*m;    %核算齿轮2齿顶圆
rf1 = (z1-2-0.5).*m./2;    %齿轮1齿根圆半径
rf2 = (z2-2-0.5).*m./2;    %齿轮2齿根圆半径


pb = pi.*m.*cosd(20);    %基圆齿距

alphaa1 = acosd(rb1./ra1);    %齿轮1齿顶角
alphaa2 = acosd(rb2./ra2);    %齿轮2齿顶角
epsilonalpha1 = (z1.*(tand(alphaa1)-tand(20))+z2.*(tand(alphaa2)-tand(20)));
epsilonalpha = epsilonalpha1./(2.*pi);    %齿轮1、2重合度
%fprintf('epsilonalpha=%g\n',epsilonalpha)    %输出重合度



n1 = 1800;
                      %输入齿轮1(主动轮)的转速/rpm
omega1 = 2.*pi.*n1./60;
                      %核算齿轮1(主动轮)的角速度/rads
%fprintf('omega1=%g\n',omega1)
                      %输出齿轮1的角速度/rads
omega2 = omega1./i;
                      %核算齿轮2的角速度/rads
%fprintf('omega2=%g\n',omega2)
                      %输出齿轮2的角速度/rads
                     
                     
                     
%重合度分段评论
PN1 = sqrt(ra2.^2-rb2.^2)-r2.*sind(20);
PI1 = r1.*sind(20)+pb-sqrt(ra1.^2-rb1.^2);
PI2 = r2.*sind(20)+pb-sqrt(ra2.^2-rb2.^2);
PN2 = sqrt(ra1.^2-rb1.^2)-r1.*sind(20);
N1I1 = (epsilonalpha-1).*pb;
N2I2 = N1I1;


e = -PN1:0.01:PN2;
%e = input('e = ');


%PN1段Vs1、Vr1平方的核算

rK11pingfang = r1.^2+(-e).^2-2.*r1.*(-e).*cosd(70);   %rK11的平方
rK11 = sqrt(rK11pingfang);   %开方


rK12pingfang = r2.^2+(-e).^2-2.*r2.*(-e).*cosd(110);   %rK12的平方
rK12 = sqrt(rK12pingfang);   %开方


cosjiaoO1K1O2 = (rK11.^2+rK12.^2-a.^2)/(2.*rK11.*rK12);
jiaoO1K1O2hudu = acos(cosjiaoO1K1O2);     %角O1K1O2的弧度巨细
jiaoO1K1O2 = jiaoO1K1O2hudu*(180/pi);     %角O1K1O2的巨细

jiaoVK11VK12 = 180-jiaoO1K1O2;  %VK11与VK12的视点
jiaoVK11VK12hudu = jiaoVK11VK12*(pi/180);  %VK11与VK12的视点弧度
VK11 = omega1.*rK11;   %VK11巨细
VK12 = omega2.*rK12;   %VK12巨细

Vr1pingfang = 0.25*(VK11.^2+2.*VK11.*VK12.*cos(jiaoVK11VK12hudu)+VK12.^2);
%Vr1平方的巨细
Vr1 = sqrt(Vr1pingfang);   %Vr1巨细

Vs1pingfang = VK11.^2-2.*VK11.*VK12.*cos(jiaoVK11VK12hudu)+VK12.^2;
Vs1 = sqrt(Vs1pingfang);   %Vs1巨细

SR1 = Vs1./Vr1;   %滑滚比核算


%PN2段Vs2、Vr2平方段核算

rK21pingfang = r1.^2+e.^2-2.*r1.*e.*cosd(110);   %rK21的平方
rK21 = sqrt(rK21pingfang);   %开方

rK22pingfang = r2.^2+e.^2-2.*r2.*e.*cosd(70);   %rK22的平方
rK22 = sqrt(rK22pingfang);   %开方

cosjiaoO1K2O2 = (rK21.^2+rK22.^2-a.^2)/(2.*rK21.*rK22);
jiaoO1K2O2hudu = acos(cosjiaoO1K2O2);     %角O1K2O2的弧度巨细
jiaoO1K2O2 = jiaoO1K2O2hudu*(180/pi);    %角O1K2O2的巨细

jiaoVK21VK22 = 180-jiaoO1K2O2;  %VK21与VK22的视点
jiaoVK21VK22hudu = jiaoVK21VK22*(pi/180);   %VK21与VK22的视点弧度
VK21 = omega1.*rK21;   %VK21巨细
VK22 = omega2.*rK22;   %VK22巨细

Vr2pingfang = 0.25.*(VK21.^2+2.*VK21.*VK22.*cos(jiaoVK21VK22hudu)+VK22.^2);
%Vr2平方的巨细
Vr2 = sqrt(Vr2pingfang);   %Vr2巨细

Vs2pingfang = VK21.^2-2.*VK21.*VK22.*cos(jiaoVK21VK22hudu)+VK22.^2;
Vs2 = sqrt(Vs2pingfang);     %Vs2巨细


SR2 = Vs2./Vr2;   %滑滚比核算


Vs = Vs1.*(e>=-PN1 & e<0)+Vs2.*(e>=0 & e<PN2);
%plot(e,Vs);


Vr = Vr1.*(e>=-PN1 & e<0)+Vr2.*(e>=0 & e<PN2);
%plot(e,Vr);


SR = SR1.*(e>=-PN1 & e<0)+SR2.*(e>=0 & e<PN2);
plot(e,SR);

%fprintf('Vs=%g\n,Vr=%g\n,SR=%g\n',Vs,Vr,SR);
%fprintf('SR=%g\n',SR);




MATLAB 根底评论
版块优异回答者

中级

678 麦片

财富积分


5001500


0

主题

1149

帖子

146

最佳答案
  • 重视者: 23
2#
宣布于 2019-6-23 12:38:11 | 只看该作者 |此回复为最佳答案
cosjiaoO1K1O2 = (rK11.^2+rK12.^2-a.^2)/(2.*rK11.*rK12);
你的./和.*与*和/混用,是不是这儿的问题呢?
比方上面的代码是不是应该是:
cosjiaoO1K1O2 = (rK11.^2+rK12.^2-a.^2)./(2.*rK11.*rK12);

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
3#
 楼主| 宣布于 2019-6-23 13:10:44 | 只看该作者
WarnerChang 宣布于 2019-6-23 12:38
cosjiaoO1K1O2 = (rK11.^2+rK12.^2-a.^2)/(2.*rK11.*rK12);
你的./和.*与*和/混用,是不是这儿的问题呢?
...

是的,非常感谢您!:)
您需求登录后才能够回帖 登录 | 注册

本版积分规矩

封闭

站长引荐上一条 /3 下一条

快速回复 回来顶部 回来列表