Code covered by the BSD License
-
cumprobPlot(cost)
CUMPROBPLOT Create plot of datasets and fits
-
myCostFcn(x,simParms)
Unpack simParms structure for Simulink Use
-
myCostFcnRR(x,simParms)
Unpack simParms sturcutre for Simulink Use
-
myCostFcn_slow(x,simParms)
Unpack simParms sturcutre for Simulink Use
-
myNonlCon(x,simParms)
mynonlcon.m Nonlinear constraints for fmincon.
-
myNonlConR(x,simParms)
mynonlcon.m Nonlinear constraints for fmincon.
-
myNonlConRR(x,simParms)
mynonlcon.m Nonlinear constraints for fmincon.
-
rrplot(cost,k,c)
RRPLOT is a custom plot for rrdesign.m
-
struct2var(s)
STRUCT2VAR Convert structure array to workspace variables.
-
survivalFit(miles3,miles5,mil...
SURVIVALFIT Create plot of datasets and fits
-
suspnHtmlTable
Normalize line endings.
-
checkLicense.m
-
mldemo_suspgraph.m
-
rrdesign.m
-
mldemo_suspnfast
-
mldemo_suspnslow
-
Designing for Reliability and...
-
suspnTable.html
-
View all files
from
Reliable and Roubst Design
by Stuart Kozola
MATLAB Code used in the Jan 2008 Digest Article
|
| myNonlConRR(x,simParms)
|
function [c,ceq] = myNonlConRR(x,simParms)
%% mynonlcon.m Nonlinear constraints for fmincon.
% Extract suspension variables
kf = x(1);
cf = x(2);
kr = x(3);
cr = x(4);
% Extract parameters needed for constraints
struct2var(simParms)
Iyy = mcIyy;
Mb = mcMb;
Lf = mcLf;
Lr = mcLr;
rf = mcrf;
rr = mcrr;
rt = mcrt;
%% Define Reliability Limit and Desired Damping Coefficient Range
Plimit = 0.90; % max probability of shock absorber failure for lifetime
%A = 0.758;
%B = 3.68;
%Pf = @(cdamp) 1 - wblcdf(cdamp,A,B);
A = @(dampRatio) -1.0129e+005.*dampRatio.^2 -28805.*dampRatio + 2.1831e+005;
B = @(dampRatio) 1.6865.*dampRatio.^2 -1.8534.*dampRatio + 4.1507;
Ps = @(miles,dampRatio) 1 - wblcdf(miles,A(dampRatio),B(dampRatio));
mileage = 100000;
% Can tolerate a +/-10% change from desired damping coefficient
cupper = 0.4; % upper limit for damping coefficients
clower = 0.3; % lower limit for damping coefficients
%% Compute Constraints
Mf = Mb.*Lr./(Lf+Lr)./2;
Mr = Mb.*Lf./(Lf+Lr)./2;
cdf = cf./(2*sqrt(kf.*Mf));
cdr = cr./(2*sqrt(kr.*Mf));
% Inequality constraints c <= 0
c = [sqrt(kf./Mf)/(2*pi)-2;... % fn <= 2 Hz for front
sqrt(kr./Mr)/(2*pi)-2;... % fn <= 2 Hz for rear
clower-cdf;... % damping ratio for front
clower-cdr;... % damping ratio for rear
Plimit- Ps(mileage,cdf);... % front shock absorber reliability constraint
Plimit- Ps(mileage,cdr)]; % rear shock absorber reliability constraint
ceq = [];
|
|
Contact us at files@mathworks.com