题目:编制改进一次二阶矩法计算可靠指标的程序,并给出算例,要求提供源程序,算法语言不限。

选取的算例为:z=g(x,y)=x*y-1140,其中x,y服从正态分布,μx=38,Vx=0.1,

μy=38,Vy=0.05

本程序采用Matlab编写。

选取β1=3.0,β2=2.5

计算结果为:可靠指标β=4.2672,最终验算点为:(22.8430 ,

49.9060),在验算点处功能函数值为:1.2354e-004

%保存为strRlbt.m,在Matlab命令窗口中输入strRlbt执行即可

N = 2;%变量个数

miu = [38

54];%均值

v = [0.1

0.05];%变异系数

sgma = miu .*

v;%方差

syms x y

g = sym('x * y -

1140');%功能函数

jacg = jacobian( g

,[x;y]);%计算雅可比矩阵

initvalue =

[miu;v;sgma];%用作函数参数

%选取beta,定义x0=miu

beta1 = 3.0;

xopt0 = [38 54];

alpha0 =

zeros(1,2);

[ alpha1 , xopt1 , result ] =

calforbeta( initvalue , beta1 , alpha0 , xopt0 , jacg , g

);

if result == 1

disp('第一次假定的饧次煽恐副辏');

return

end

%再次假定beta

beta2 = 2.5;

xopt0 = miu - beta2 * alpha1

.* sgma;

gvalue =

jacgfunc(jacg,xopt1);

alpha0 = (sgma .* gvalue) /

sqrt(sum((sgma .* gvalue).^2));

[ alpha2 , xopt2 , result ] =

calforbeta( initvalue , beta2 , alpha0 , xopt0 ,

jacg , g );

if result == 1

disp('第二次假定的饧次煽恐副辏');

return

end

%beta迭代求解

g1 =

gfunc(g,xopt1);

g2 =

gfunc(g,xopt2);

eps = 0.1; %精度

while abs(g2) >

eps

temp =

beta2;

beta2 = beta2 -

(beta2 - beta1)/(g2 - g1) * g2;

beta1 =

temp;

[ alpha2 , xopt2 ,

result ] = calforbeta( initvalue , beta2 , alpha1

, xopt1 , jacg , g );

temp =

g2;

g2 =

gfunc(g,xopt2);

g1 =

temp;

if result ==

1

break

end

end

disp('可靠指标为:');

disp(beta2);

disp('最终验算点为:');

disp(xopt2);

disp('在验算点处功能函数值为:');

disp(g2);

function g_out = gfunc( g ,

x_in )

%功能函数值计算

x = x_in(1);

y = x_in(2);

g_out =

eval_r(g);%函数值

%将以上内容保存为gfunc.m

function g_out = jacgfunc(

jacg , x_in )

%功能函数偏导数计算,即雅可比矩阵计算

x = x_in(1);

y = x_in(2);

for i = 1:2

g_out(i) =

eval_r(jacg(i));%1为对x的导数,2为对y的导数

end

%将以上内容保存为jacgfunc.m

function [ alpha1 , xopt1

,result ] = calforbeta( initvalue , beta0 , alpha0 , xopt0 , jacg ,

g)

%对选取的beta进行计算

result = 0;

N = length(xopt0);

alpha = alpha0;

xopt = xopt0;

%initvalue为初始值

miu =

initvalue(1,:);%第一行为均值

v =

initvalue(2,:);%第二行为变异系数

sgma =

initvalue(3,:);%第三行为方差

eps = 0.1;

while 1

%功能函数达到精度则退出循环,result=1表示计算出可靠指标

if

abs(gfunc(g,xopt0)) < eps

alpha1 = alpha0;

xopt1 = xopt0;

result = 1;

break;

end

%计算alpha和新的验算点xopt

gvalue =

jacgfunc(jacg,xopt);

sgmaz =

sqrt(sum((sgma .* gvalue).^2));

alpha0 = sgma .*

gvalue / sgmaz;

xopt0 = miu - beta0

* alpha0 .* sgma;

sum1 = sum((alpha -

alpha0).^2);

sum2 = sum((xopt -

xopt0).^2);

alpha =

alpha0;

xopt =

xopt0;

%醝和验算点xi达到精度则退出循环

if sum1 < 0.001 |

sum2 < 0.001

alpha1 = alpha0;

xopt1 = xopt0;

break;

end

end

%将以上内容保存为calforbeta.m

matlab 计算变异系数,[转载]用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法)...相关推荐

  1. matlab二次二阶距,用Matlab改进一次二阶矩法程序.doc

    用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法) 题目:编制改进一次二阶矩法计算可靠指标的程序,并给出算例,要求提供源程序 选取的算例为:z=g(x,y)=x*y-1140,其中x ...

  2. matlab一次二阶矩法正态分布,一次二阶矩法.ppt

    设计验算点法求可靠指标评述 验算点法对极限状态方程中服从正态分布的随机变量计算结果尚可,而非正态分布误差较大. JC法求可靠指标 问题的提出:验算点法对极限状态方程中服从正态分布的随机变量计算结果尚可 ...

  3. 如何用matlab画紫罗兰,[转载]基于MATLAB的快速傅立叶分析程序设计

    以下程序是我学习阶段总结的,特此写出来供大家参考,转载请注明! 1.已知信号数据 对一个人为产生的信号进行采用FFT变换方法进行功率谱分析.已知信号x(n)=120.0*COS(2*3.14*SF*n ...

  4. matlab去趋势,[转载]使用Matlab对数据进行去趋势(detrend)

    使用Matlab对数据进行去趋势(detrend) 介绍 去趋势(detrend)处理可以消除传感器在获取数据时产生的偏移对后期计算产生的影响.从数据中删除趋势可以将分析集中在数据趋势本身的波动上.但 ...

  5. matlab求机制,[转载]文化算法 matlab

    文化算法 算法说明:文化算法是基于人类社会进化原理的算法,他可以利用领域的先验知识以及在进化过程中获得的知识来指导搜索过程.文化能使种群以一定的速度进化和适应环境,而这个速度是超越单纯依靠基因遗传生物 ...

  6. matlab示波器模拟,[转载]利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法

    利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法 最近写了一篇有关步进电机控制仿真分析的文章,需要将一部分仿真波形图贴到WORD里面去.但贴图时发现,如果直接将simulink中示波器 ...

  7. matlab如何均匀分布,[转载]【MATLAB】高斯分布 均匀分布 以及其他分布 的随机数生成函数...

    matlab中rand和randn是产生随机数的命令,链接 x=rand(1,N) 产生(0,1)区间均匀分布的长度为N的随机信号, x=randn(1,N)产生长度为N且具有零均值和单位方差的正态分 ...

  8. matlab仿真直流电机,[转载]基于Matlab/Simulink的无刷直流电机控制仿真研究

    摘要: 基于Matlab/Simulink,本文设计了一个无刷直流电机的控制方案,详细阐述了无刷直流电机的运行原理,并用Matlab/Simulink对其进行了仿真.实验证明,用Matlab/Simu ...

  9. 用matlab分析时间响应教程,基于Matlab的多自由度耦合滑移模型的动力响应可靠度分析...

    Hi~我是mania 参考资料: (1)基于耦合滑移模型的岩体地震可靠性分析方法 (3)结构可靠度分析:方法与程序 简化模型及运动平衡方程 如下图1所示的多层隔震建筑,当受到地震作用时每层结构体都会产 ...

最新文章

  1. python构造和析构_python魔法方法 构造和析构实例讲解
  2. 代码重构----使用java有限状态机来消除太多的if else判断
  3. 【Jmeter篇】导出Jmeter脚本及查看接口响应时间
  4. 六步带你轻松安装MongoDB
  5. Python文件操作小案例:交替合并两个记事本文件
  6. 见过一些能力非常强的但创业总是失败
  7. 苹果mac三维动画设计渲染软件:Cinema 4D R20 (c4d r20)
  8. 25B无人直升机调试(Tuning)
  9. Exploring Plain Vision Transformer Backbones for Object Detection.
  10. 我的团长我的团第八集
  11. virtualbox安装步骤
  12. 鸿蒙系统官网电脑版,华为鸿蒙pc系统
  13. 实例三十八:银行卡问题
  14. Java实现图片渲染((拖动)马赛克、黑白照、油画风格等)
  15. 淘宝WAP版小BUG分析
  16. 解决redis缓存穿透、redis缓存雪崩问题
  17. opencv3中的glob函数读取文件夹中数据
  18. 使用Python将多个单独的Excel文件整合到一个Excel文件的不同工作表里
  19. 【技术分享】迅为i.MX6ULL开发板-Uboot-Logo修改方法
  20. ibm服务器修改uefi和legacy,uefi和legacy的区别详细分析(附带uefi改legacy教程)

热门文章

  1. Android集成华为推送功能详细
  2. 什么是红股什么是转增股
  3. CSharp与Python中的输入输出语句对比
  4. js中角度和弧度的计算
  5. 【转载】JAVA知识点集锦(上)
  6. dllcache目录转移
  7. stm32f103c8tx芯片采用中断方式向上位机(win10)发送“hello windows”———USART 串口通讯
  8. QML进阶--Loader实现组件的动态切换
  9. 【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔!
  10. 计算机32位操作系统指什么,电脑操作系统中32位和64位到底有哪些区别?