工程数学实验二

Posted psh888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程数学实验二相关的知识,希望对你有一定的参考价值。

clear all;
close all;
clc;

% 定义目标函数
f = @(x) 100*(x(1)^2 - x(2))^2 + (x(1) - 1)^2;

% 定义梯度函数
grad_f = @(x) [400*x(1)*(x(1)^2 - x(2)) + 2*(x(1) - 1); -200*(x(1)^2 - x(2))];

% 定义终止准则
epsilon = 1e-5;

% 定义最大迭代次数
max_iter = 1000;

% 定义初始点
initial_points = [0.8 0.8; -1.2 1.0; -0.2 -0.2; 1.2 1.2; 0.0 0.5];

% 遍历每个初始点
for i = 1:size(initial_points, 1)
x0 = initial_points(i, :)\'; % 初始点
x = x0;
iter = 0;
alpha = 0.01; % 步长

% 开始迭代
while norm(grad_f(x)) > epsilon && iter < max_iter
d = -grad_f(x); % 负梯度方向
x_new = x + alpha * d; % 更新点
if f(x_new) < f(x)
x = x_new;
else
alpha = alpha / 2; % 步长减半
end
iter = iter + 1;
end

% 输出结果
fprintf(\'初始点: [%f, %f]\\n\', x0(1), x0(2));
fprintf(\'迭代次数: %d\\n\', iter);
fprintf(\'最优解: [%f, %f]\\n\', x(1), x(2));
fprintf(\'最优函数值: %f\\n\', f(x));
fprintf(\'\\n\');
end

 

实验二:数据流图建模实验|软件工程

目录


详细描述

∙ \\bullet 病人住院前,先办理入院手续,如果病人有医疗卡,则表明其在系统中已经存有相关信息,继续为其分配床位、主治医生,并收取住院押金。如果病人没有医疗卡,则需要先建立病人档案,再进行上述操作。
∙ \\bullet 病人住院过程中,主治医师会每天查房,记录病情到病历中,并根据病人每日病情,开出医嘱或化验单。护士站根据该站所有病人的医嘱生成领药单,药房每天根据该领药单进行配药、送药,并记录药品分发情况。如果医嘱中涉及辅助治疗,由护士站负责执行,并记录治疗执行情况。病人凭医生出具的化验单进行各类化验检查,医生将化验结果记录到病人病历中。
∙ \\bullet 医院财务部门每天需统计病人当日的消费情况,并从总账中进行扣费,如果余额小于指定值,则通过主治医生向病人催缴。
∙ \\bullet 病人如果想出院,首先需要征得主治医生的同意,开具出院小结,凭该小结完成出院前的所有结算工作,病人相关的病历归档后才能出院。


建立分层的数据流图

顶 层 图 \\colorRED顶层图

在顶层图中主要介绍了六个实体与最核心的医院住院管理系统之间的关系,如下图所示:


0 层 图 \\colorRED0层图 0

在0层图中,将医院住院管理系统继续向下划分为分配系统、病情管理、药品分配和账单计费四个部分,在病情管理和账单计费之间添加了医疗费用表,在药品分配与账单计费之间添加了药品费用表。

第 一 层 图 ( 病 情 管 理 展 开 ) \\colorRED第一层图(病情管理展开)
继续将病情管理进行展开我们可以得到每日查房、辅助治疗、化验管理以及计算医疗化验费用四个部分,其中我们新增了两个表,即在化验管理与计算医疗化验费用之间的化验费用表,在辅助治疗与计算医疗化验费用之间的辅助治疗费用表。


数据字典

数 据 项 条 目 \\colorVIOLET数据项条目

编号名称别名简述类型(长度)
IO1病人名字pName病人的姓名char(32)
IO2病人idpId病人进入医院分配的编号char(20)
IO3医生名字dName主治医生的姓名char(32)
IO4医生iddID主治医生在医院中的编号char(20)
IO5病房号roomNo为入院病人分配的病房号int(3)
IO6病床号bedNo为入院病人分配的病床号int(2)
IO7病人化验项目pLabItems医生开的化验项目char(32)
IO8病人化验结果pLabResults相应化验项目对应的化验结果char(32)
IO9药方prescription为药房所开的药品char(32)
IO10治疗方案treatoptions病人的具体治疗方法char(32)
IO11辅助治疗消费treatConsumption病人每天的消费金额int
IO12发放药品记录recordDrugDistribution记录发放的药品char(32)
IO13化验消费labConsumption化验费用int
IO14药品消费drugConsumption买药消耗的金额int
IO8病人化验结果pLabResults相应化验项目对应的化验结果char(32)

数 据 流 条 目 \\colorVIolEt数据流条目

编号名称别名简述组成
LO1病人信息pInfo包括病人的名字与入院IDIO1+IO2
LO2床号、主治医生信息basicInfo包括为病人分配的各项信息IO3+IO4+IO5+IO6
LO3分配信息assignInfo包括病人相关信息IO1+IO2+IO5+IO6
LO4化验单labTestSheets包括病人信息、医生信息以及化验项目IO2+IO4+IO5+IO6+IO7
LO5化验结果labResults包括病人信息、医生信息以及化验结果IO2+IO4+IO5+IO6+IO8
LO6医嘱medicalAdvice包括医生的治疗方案与病人的基本信息IO2+IO4+IO5+IO6+IO10
LO7领药单medicalPrescription包括药方以及基本信息IO2+IO4+IO5+IO6+IO9
LO8消费情况consumption包括病人基本信息与每日消费IO2+IO4+IO11+IO13+IO14
LO9药品发放情况distributionOfMed包括病人基本信息与药品发放情况IO2+IO4+IO5+IO6+IO12

加 工 条 目 \\colorViolet加工条目

编号名称别名简述加工号加工逻辑
PO1每日查房dailyRounds病人的主治医生每天工作1.2.1主治医生每天进行该操作进行病情的记录
PO2辅助治疗adjuvantTherapy由护士站执行辅助治疗1.2.2如果主治医生发出的医嘱中涉及辅助治疗,那么护士站则对病人进行该操作
PO3化验管理labManage化验部门接收化验单并执行然后记录病人的化验结果1.2.3根据主治医生发出的化验单对病人进行对应的化验操作
PO4计算医疗化验费用calCosts统计病人每日消费1.2.4记录病人的化验费用,如果有进行辅助治疗那么增加辅助治疗的费用

文 件 条 目 \\colorViolet文件条目

编号名称别名简述组成文件组织
FO1医疗化验费用medicalLabCosts辅助治疗与化验治疗的费用{IO2+IO11+IO13}IO2升序
FO2药品费用drugCosts消耗的药品费用之和{IO2+IO12}IO2升序

外 部 实 体 \\colorViolet外部实体

编号名称别名简述输入数据流输出数据流
EO1病人patient入院住院看病LO2LO1
EO2主治医生doctor每天查房帮助病人LO3LO4+LO6
EO3化验部门labDepartment为病人进行化验检查LO4LO5
EO4护士站nurse生成领药单以及为病人进行辅助治疗LO6LO7
EO5财务部门fianceDepartment统计病人每日消费情况进行扣费LO8\\
EO6药房pharmacy配药、送药以及记录药品发放情况LO7LO9

运行检验截图


总结

∙ \\bullet 根据前面所化的用例图以及类图可以帮助我们快速确定数据流图的顶层拥有哪些实体以及数据流。

∙ \\bullet 注意顶层中出现的数据流在我们接下来的下层的流图中对应的位置也需要出现,同时还可以再增加一些细节来继续完善该数据流图。

∙ \\bullet 越往下层数据项的流向越具体。

以上是关于工程数学实验二的主要内容,如果未能解决你的问题,请参考以下文章

软件工程课程——实验二

软件工程 实验二

软件工程实验二图

数值分析实验之数值积分法(java 代码)

数值分析实验之数值积分法(java 代码)

拓慧实验室|拓慧未来STEAM实验室